printf is a common function for formatted output. C and many other languages have a whole family of related functions. Only use this tag if the question is directly concerned with printf or related functions.
For detailed information on how the printf
function works in C, refer to Open Group Base Specifications or the C standard.
C99 knows these members of the printf()
-family:
printf vprintf wprintf vwprintf
fprintf vfprintf fwprintf vfwprintf
sprintf vsprintf swprintf vswprintf
snprintf vsnprintf snwprintf vsnwprintf
POSIX additionally knows these:
dprintf vdprintf
GNU adds these:
asprintf vasprintf
The name is generally of the form:
- optional
v
forva_list
- output specifier: None for stdout,
f
forFILE*
,s
for supplied buffer,sn
for supplied buffer of specified length,as
for allocated buffer,d
for supplied file descriptor - optional
w
for wide variant. printf
Documentation for printf
function is available on Linux/Unix in section 3 of the manual and can be accessed by using man 3 printf
.
For a multi-lingual description of the history of printing formatted strings across many languages, refer to Wikipedia article printf format string