diff options
author | Ranger Harke <ranger.harke@autodesk.com> | 2013-09-19 17:24:31 -0400 |
---|---|---|
committer | Ranger Harke <ranger.harke@autodesk.com> | 2013-09-19 17:24:31 -0400 |
commit | 61c9d6ede1fe9a91ae501dc019d2e5f97803943a (patch) | |
tree | c60349138d76cbda413292b56e0e62743523a49d /tests/printf | |
parent | b72b6d897250cc7624b66832f720ff3bed6823a6 (diff) |
Implement missing 'space' formatting flag
This flag causes space (padding) to be reserved for the sign even if the
number is positive. It is basically the same as the 'plus' flag except that
a space is displayed instead of a plus sign. The 'plus' flag takes precedence.
Diffstat (limited to 'tests/printf')
-rw-r--r-- | tests/printf/output.txt | 3 | ||||
-rw-r--r-- | tests/printf/output_i64_1.txt | 3 | ||||
-rw-r--r-- | tests/printf/test.c | 3 |
3 files changed, 9 insertions, 0 deletions
diff --git a/tests/printf/output.txt b/tests/printf/output.txt index 7ca4d88c..0155f0da 100644 --- a/tests/printf/output.txt +++ b/tests/printf/output.txt @@ -6,9 +6,12 @@ Decimals: 1977 650000 12 4 Preceding with blanks: 1977 -1977 Preceding with zeros: 0000001977 -000001977 Force sign: +1977 -1977 +1977 -1977 +Force sign or space: 1977 -1977 1977 -1977 +Sign overrides space: +1977 -1977 +1977 -1977 Some different radixes: 100 64 144 0x64 0144 floats: 3.14 +3e+00 3.141600E+00 00003.14 negative floats: -3.14 -3e+00 -3.141600E+00 -0003.14 +Force sign or space: 3.14 -3.14 3.14 -3.14 Width trick: 10 A string % Null string: (null) diff --git a/tests/printf/output_i64_1.txt b/tests/printf/output_i64_1.txt index 9cd8ed98..e38fb78f 100644 --- a/tests/printf/output_i64_1.txt +++ b/tests/printf/output_i64_1.txt @@ -6,9 +6,12 @@ Decimals: 1977 650000 12 4 Preceding with blanks: 1977 -1977 Preceding with zeros: 0000001977 -000001977 Force sign: +1977 -1977 +1977 -1977 +Force sign or space: 1977 -1977 1977 -1977 +Sign overrides space: +1977 -1977 +1977 -1977 Some different radixes: 100 64 144 0x64 0144 floats: 3.14 +3e+00 3.141600E+00 00003.14 negative floats: -3.14 -3e+00 -3.141600E+00 -0003.14 +Force sign or space: 3.14 -3.14 3.14 -3.14 Width trick: 10 A string % Null string: (null) diff --git a/tests/printf/test.c b/tests/printf/test.c index b01a99db..1c8ad9f7 100644 --- a/tests/printf/test.c +++ b/tests/printf/test.c @@ -11,9 +11,12 @@ int main() { printf("Preceding with blanks: %10d %10d\n", 1977, -1977); printf("Preceding with zeros: %010d %010d\n", 1977, -1977); printf("Force sign: %+d %+d %+6d %+6d\n", 1977, -1977, 1977, -1977); + printf("Force sign or space: % d % d % 6d % 6d\n", 1977, -1977, 1977, -1977); + printf("Sign overrides space: % +d % +d % +6d % +6d\n", 1977, -1977, 1977, -1977); printf("Some different radixes: %d %x %o %#x %#o\n", 100, 100, 100, 100, 100); printf("floats: %4.2f %+.0e %E %08.2f\n", 3.1416, 3.1416, 3.1416, 3.1416); printf("negative floats: %4.2f %+.0e %E %08.2f\n", -3.1416, -3.1416, -3.1416, -3.1416); + printf("Force sign or space: % .2f % .2f % 6.2f % 6.2f\n", 3.1416, -3.1416, 3.1416, -3.1416); printf("Width trick: %*d\n", 5, 10); printf("%s %%\n", "A string"); printf("Null string: %7s\n", NULL); |