printf, wprintf
Go Up to stdio.h Index
Header File
stdio.h
Category
Console I/O Routines
Prototype
int printf(const char *format[, argument, ...]);
int wprintf(const wchar_t *format[, argument, ...]);
Description
Writes formatted output to stdout.
The printf function:
- Accepts a series of arguments.
- Applies to each argument a format specifier contained in the following format string: *format.
- Outputs the formatted data (to the screen, a stream, stdout, or a string).
There must be enough arguments for the format. If not, the results will be unpredictable and likely disastrous. Excess arguments (more than required by the format) are merely ignored.
Note: For Win32 and Win64 GUI applications, stdout must be redirected.
Return Value
On success, printf returns the number of bytes output.
On error, printf returns EOF.
More About printf
Example
#include <stdio.h>
#include <tchar.h>
int _tmain(int argc, _TCHAR* argv[]) {
int number = -8542;
int countchars;
float realnumber = 375.22352;
char letter = 'a';
wchar_t wletter = L'b';
char* arrayofchars = "This is a sample text";
wchar_t* warrayofchars = L"This is a wide sample text";
/* Printing integers */
printf(" Integer: %d\n Unsigned: %u\n Hexadecimal: %x\n Octal: %o\n\n ",
number, number, number, number);
/* Printing floating point numbers */
printf("Float: %f\n With precision specifier: %.2f\n Scientific: %e\n\n",
realnumber, realnumber, realnumber, realnumber);
/* Printing characters with printf and wprintf */
printf(" printf:\n %c %hc %C %lc\n", letter, letter, wletter, wletter);
wprintf(L" wprintf:\n %C %c %c %lc\n\n", letter, letter, wletter, wletter);
/* Printing strings */
printf(" String (printf):\n %s \n %35s \n %10.6s \n\n ", arrayofchars, arrayofchars, arrayofchars);
wprintf(L"Wide string (wprintf):\n %s \n %44s \n %11.12s \n \n", warrayofchars, warrayofchars, warrayofchars);
/* Printing pointers */
printf(" Address of %d as pointer: %p\n", number, &number);
/* Counts the printed characters until the %n format specifier is encountered*/
printf( "\n Counting the printed characters until the format specifier is encountered:\n" );
printf( "15382%n123456789\n", &countchars );
printf( "Number of characters: %d\n\n", countchars );
getchar();
return 0;
}
Output
Integer: -8542
Unsigned: 4294958754
Hexadecimal: ffffdea2
Octal: 37777757242
Float: 375.223511
With precision specifier: 375.22
Scientific: 3.752235e+03
printf:
a a b b
wprintf:
a a b b
String (printf):
This is a sample text
This is a sample text
This i
Wide string (wprintf):
This is a wide sample text
This is a wide sample text
This is a wi
Address of -8542 as pointer: 0018FF50
Counting the printed characters until the format specifier is encountered:
15382123456789
Number of characters: 5
Portability
POSIX | Win32 | ANSI C | ANSI C++ | Win64 | |
---|---|---|---|---|---|
printf |
+ |
+ |
+ |
+ |
+ |
_wprintf |
+ |
+ |
Topics
- printf Format Specifiers
- printf Format String
- printf Precision Specifiers
- Unicode Output Format Specifiers