%.4x: `0012' %04x: `0012' %4.4x: `0012' %04.4x: `0012' %4.3x: ` 012' %04.3x: ` 012' %.*x: `0012' %0*x: `0012' %*.*x: `0012' %0*.*x: `0012' bad format: "%J" nil pointer (padded): "(nil)" decimal negative: "-2345" octal negative: "37777773327" hex negative: "fffff6d7" long decimal number: "-123456" zero-padded LDN: "-000123456" space-padded LDN: " -123456" left-adjusted SLDN: "-123456 " zero-padded string: " Hi, Z." left-adjusted Z string: "Hi, Z. " space-padded string: " Hi, Z." left-adjusted S string: "Hi, Z. " null string: "(null)" limited string: "Good morning, Doctor C" e-style >= 1: "1.234000e+01" e-style >= .1: "1.234000e-01" e-style < .1: "1.234000e-03" e-style big: "1.000000000000000000000000000000000000000000000000000000000000e+20" e-style == .1: "1.000000e-01" f-style >= 1: "12.340000" f-style >= .1: "0.123400" f-style < .1: "0.001234" g-style >= 1: "12.34" g-style >= .1: "0.1234" g-style < .1: "0.001234" g-style big: "100000000000000000000" 0.10000 0.10000 x0.5000x 0x1 something really insane: 1.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 5.87747175411143754e-39 5.87747175411143754e-39 5.87747175411143754e-39 5.87747175411143754e-39 5.87747175411143754e-39 5.87747175411143754e-39 5.87747175411143754e-39 5.87747175411143754e-39 5.87747175411143754e-39 5.87747175411143754e-39 5.87747175411143754e-39 5.87747175411143754e-39 5.87747175411143754e-39 5.87747175411143754e-39 5.87747175411143754e-39 5.87747175411143754e-39 5.87747175411143754e-39 4.94066e-324 | 0.0000 | 0.0000e+00 | 0 | | 1.0000 | 1.0000e+00 | 1 | | -1.0000 | -1.0000e+00 | -1 | | 100.0000 | 1.0000e+02 | 100 | | 1000.0000 | 1.0000e+03 | 1000 | | 10000.0000 | 1.0000e+04 | 1e+04 | | 12345.0000 | 1.2345e+04 | 1.234e+04 | | 100000.0000 | 1.0000e+05 | 1e+05 | | 123456.0000 | 1.2346e+05 | 1.235e+05 | snprintf ("%30s", "foo") == 30, " foo" snprintf ("%.999u", 10) = 999 Formatted output test prefix 6d 6o 6x 6X 6u %-+#0 |-123 |0377 |0xff |0XFF |4294967295 | %-+# |-123 |0377 |0xff |0XFF |4294967295 | %-+0 |-123 |377 |ff |FF |4294967295 | %-+ |-123 |377 |ff |FF |4294967295 | %-#0 |-123 |0377 |0xff |0XFF |4294967295 | %-# |-123 |0377 |0xff |0XFF |4294967295 | %-0 |-123 |377 |ff |FF |4294967295 | %- |-123 |377 |ff |FF |4294967295 | %+#0 |-00123 |000377 |0x00ff |0X00FF |4294967295 | %+# | -123 | 0377 | 0xff | 0XFF |4294967295 | %+0 |-00123 |000377 |0000ff |0000FF |4294967295 | %+ | -123 | 377 | ff | FF |4294967295 | %#0 |-00123 |000377 |0x00ff |0X00FF |4294967295 | %# | -123 | 0377 | 0xff | 0XFF |4294967295 | %0 |-00123 |000377 |0000ff |0000FF |4294967295 | % | -123 | 377 | ff | FF |4294967295 | (null) (null) 1234567.800000 should be 1234567.800000 123.456 should be 123.456 10 should be 10 0.02 should be 0.02 0.10000000000000009 Test ok. sprintf (buf, "%07llo", 040000000000ll) = 40000000000 printf ("%c", 257) =  printf ("%hu", 65537) = 1 --- Should be no further output. ---