Appendix B. printf() Format Specifier Details
The formats supported by the printf()
function almost comprise their
own language. While not an exhaustive list, this appendix details all of the
options I use throughout this book. I also describe how the options work
with the different types of output, even if I do not use a given combination.
As with so much of programming, it is useful to try stuff out yourself to see
how the pieces fit together.
The code examples include a simple C program that goes through the more popular combinations of flags, widths, precisions, and types. You can compile and run popular_formats.c as is, or you can edit it to tweak some of the lines and test your own combinations.
If you want to know even more about the things you can specify in printf()
,
including nonstandard and implementation-specific options,
I recommend the Wikipedia page devoted to
just this topic.
Specifier Syntax
The specifier as I use it throughout this book contains three optional elements and one required type arranged like so:
% flag(s) width . precision type
Again, the flag (or flags), width, and precision are not required.
Specifier Types
How printf()
interprets a given value to print depends on the type specifier
you use. The value 65, for example, would print as the letter âAâ
with %c
(characters) but as â41â with %x
(hexadecimal integers).
Table B-1 summarizes the types we have used throughout
this book, although it is not an exhaustive list.
Get Smaller C now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.