printf icon indicating copy to clipboard operation
printf copied to clipboard

Tiny, fast, non-dependent and fully loaded printf implementation for embedded systems. Extensive test suite passing.

Results 68 printf issues
Sort by recently updated
recently updated
newest added

vs and gcc recognise %ld to be 32bit and 64bit. "%lld" to be 64bit. To cross platform we aways use int32_t int64_t, so we have to use PRI64d. It's disgusting.

In the FreeRTOS-TCP network stack they use the custom specifier %lxip which is passed an IP address as a uint32_t and aims to print it as a xxx.xxx.xxx.xxx format. Can...

If we `sprintf(buffer,"%#.3g", 99.99);`, we get `100.0` - with 4 significant digits - while we should be getting `100.`, with 3 significant digits. This is because, initially, we find the...

If we `printf_("%#.1g", -40661.5)`, we currently get `-40662`, but should be getting `-4.e+04` : With "%g", the "precision" value means the number of significant digits to show; and if the...

If we `printf_("%g", 0.)`, we get `"0e+00"`; we should be getting just "0". See also #75, #55, #48 about "%g" issues.

There are some possible optimizations (at least for ARM CPU): Only 4 arguments are passed in registers, remaining arguments has to be pushed on stack and stack frame may be...

There is minor problem with `%g` specifier: from https://www.gnu.org/software/libc/manual/html_node/Floating_002dPoint-Conversions.html#Floating_002dPoint-Conversions > The ‘%g’ and ‘%G’ conversions print the argument in the style of ‘%e’ or ‘%E’ (respectively) if the exponent would...

In this case (and wider precision) octal zero should be included in padding instead of adding it ``` printf("%#.5o", 06143) expected: 06143 got: 006143 printf("%#.6o", 06143) expected: 006143 got: 0006143...