0% found this document useful (0 votes)
1K views

A Printf Format Reference Page (Cheat Sheet)

The document provides a summary of printf format specifiers for C, C++, Java, Perl, and Ruby. It includes format specifiers for printing characters, integers, floating point numbers, strings, and special characters. Examples are given for controlling integer width, left and right justification, zero-filling, and printing various data types with different precisions.

Uploaded by

mukeshkumar41
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views

A Printf Format Reference Page (Cheat Sheet)

The document provides a summary of printf format specifiers for C, C++, Java, Perl, and Ruby. It includes format specifiers for printing characters, integers, floating point numbers, strings, and special characters. Examples are given for controlling integer width, left and right justification, zero-filling, and printing various data types with different precisions.

Uploaded by

mukeshkumar41
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

A printf format reference page (cheat sheet)

A printf formatting cheat sheet: I've created a printf format specifier cheat sheet, and thought I
would share it here (i.e., a "printf reference" page, or "cheat sheet").

A cool thing about the printf formatting syntax is that the specifiers you can use are very similar,
if not identical, between several different languages, including C, C++, Java, Perl, and Ruby, so
your knowledge is reusable, which I like..

printf format specifiers - summary


Here's a quick summary of the available printf format specifiers:

%c Character
%d decimal (integer) number (base 10)
%e exponential floating-point number
%f floating-point number
%i integer (base 10)
%o octal number (base 8)
%s a string of characters
%u unsigned decimal (integer) number
%x number in hexadecimal (base 16)
%% print a percent sign
\% print a percent sign

Controlling printf integer width


The "%3d" specifier means a minimum width of three spaces, which, by default, will be right-
justified. (Note: the alignment is not currently being displayed properly here.)

printf("%3d", 0); 0
printf("%3d", 123456789); 123456789
printf("%3d", -10); -10
printf("%3d", -123456789); -123456789

Left-justifying printf integer output


To left-justify those previous printf examples, just add a minus sign (-) after the % symbol, like
this:

printf("%-3d", 0); 0
printf("%-3d", 123456789); 123456789
printf("%-3d", -10); -10
printf("%-3d", -123456789); -123456789

The printf zero-fill option


To zero-fill your printf integer output, just add a zero (0) after the % symbol, like this:

printf("%03d", 0); 000


printf("%03d", 1); 001
printf("%03d", 123456789); 123456789
printf("%03d", -10); -10
printf("%03d", -123456789); -123456789

printf integer formatting


Here is a collection of printf examples for integer printing. Several different options are shown,
including a minimum width specification, left-justified, zero-filled, and also a plus sign for
positive numbers.

Description Code Result


At least five wide printf("'%5d'", 10); '   10'
At least five-wide, left-justified printf("'%-5d'", 10); '10   '
At least five-wide, zero-filled printf("'%05d'", 10); '00010'
At least five-wide, with a plus sign printf("'%+5d'", 10); '  +10'
Five-wide, plus sign, left-justified printf("'%-+5d'", 10); '+10  '

printf - floating point numbers


Here are several examples showing how to print floating-point numbers with printf.

Description Code Result


Print one position after the decimal printf("'%.1f'", 10.3456); '10.3'
Two positions after the decimal printf("'%.2f'", 10.3456); '10.35'
Eight-wide, two positions after the decimal printf("'%8.2f'", 10.3456); '   10.35'
Eight-wide, four positions after the decimal printf("'%8.4f'", 10.3456); ' 10.3456'
Eight-wide, two positions after the decimal,
printf("'%08.2f'", 10.3456); '00010.35'
zero-filled
Eight-wide, two positions after the decimal, left-
printf("'%-8.2f'", 10.3456); '10.35   '
justified
Printing a much larger number with that same printf("'%-8.2f'",
'101234567.35'
format 101234567.3456);
printf string formatting
Here are several printf formatting examples that show how to format string output with printf
format specifiers.

Description Code Result


A simple string printf("'%s'", "Hello"); 'Hello'
A string with a minimum length printf("'%10s'", "Hello"); '     Hello'
Minimum length, left-justified printf("'%-10s'", "Hello"); 'Hello     '

Summary of special printf characters


The following character sequences have a special meaning when used as printf format
specifiers:

\a audible alert
\b backspace
\f form feed
\n newline, or linefeed
\r carriage return
\t tab
\v vertical tab
\\ backslash

As you can see from that last example, because the backslash character itself is treated specially,
you have to print two backslash characters in a row to get one backslash character to appear in
your output.

Here are a few examples of how to use this special characters:

Description Code Result


Insert a tab character in a string printf("Hello\tworld"); Hello world
Hello
Insert a newline character in a string printf("Hello\nworld");
world
Typical use of the newline character printf("Hello world\n"); Hello world
A DOS/Windows path with
printf("C:\\Windows\\System32\\"); C:\Windows\System32
backslash characters

You might also like