Added man pages.
This commit is contained in:
264
man/man3/printf.3
Normal file
264
man/man3/printf.3
Normal file
@@ -0,0 +1,264 @@
|
||||
.\" @(#)printf.3s 6.3 (Berkeley) 6/5/86
|
||||
.\"
|
||||
.TH PRINTF 3 "June 5, 1986"
|
||||
.AT 3
|
||||
.SH NAME
|
||||
printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf \- formatted output conversion
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
.ft B
|
||||
#include <sys/types.h>
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
int printf(const char *\fIformat\fP \fR[\fP, \fIarg\fP\fR] ...\fP);
|
||||
int fprintf(FILE *\fIstream\fP, const char *\fIformat\fP \fR[\fP, \fIarg\fP\fR] ...\fP);
|
||||
int sprintf(char *\fIs\fP, const char *\fIformat\fP \fR[\fP, \fIarg\fP\fR] ...\fP);
|
||||
int snprintf(char *\fIs\fP, size_t \fIn\fP, const char *\fIformat\fP \fR[\fP, \fIarg\fP\fR] ...\fP);
|
||||
int vprintf(const char *\fIformat\fP, va_list \fIargs\fP);
|
||||
int vfprintf(FILE *\fIstream\fP, const char *\fIformat\fP, va_list \fIargs\fP);
|
||||
int vsprintf(char *\fIs\fP, const char *\fIformat\fP, va_list \fIargs\fP);
|
||||
int vsnprintf(char *\fIs\fP, size_t \fIn\fP, const char *\fIformat\fP, va_list \fIargs\fP);
|
||||
.ft R
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
.B Printf
|
||||
places output on the standard output stream
|
||||
.BR stdout .
|
||||
.B Fprintf
|
||||
places output on the named output
|
||||
.IR stream .
|
||||
.B Sprintf
|
||||
places `output' in the string
|
||||
.IR s ,
|
||||
followed by the character `\e0'.
|
||||
.B Snprintf
|
||||
(Minix-vmd only)
|
||||
is like
|
||||
.B sprintf
|
||||
except that no more than
|
||||
.IR n \-1
|
||||
characters are written to
|
||||
.I s
|
||||
followed by a `\e0'.
|
||||
.PP
|
||||
The
|
||||
.B v*printf
|
||||
functions can be used to make functions like the first four by using the
|
||||
.BR stdarg (3)
|
||||
method to process the argument.
|
||||
.PP
|
||||
Each of these functions converts, formats, and prints its arguments after
|
||||
the first under control of the first argument.
|
||||
The first argument is a character string which contains two types of objects:
|
||||
plain characters, which are simply copied to the output stream,
|
||||
and conversion specifications, each of which causes conversion and printing
|
||||
of the next successive
|
||||
.IR arg .
|
||||
.PP
|
||||
Each conversion specification is introduced by the character
|
||||
.BR % .
|
||||
The remainder of the conversion specification includes
|
||||
in the following order
|
||||
.TP
|
||||
\(bu
|
||||
Zero or more of following flags:
|
||||
.RS
|
||||
.TP
|
||||
\(bu
|
||||
a `#' character
|
||||
specifying that the value should be converted to an ``alternate form''.
|
||||
For
|
||||
.BR c ,
|
||||
.BR d ,
|
||||
.BR s ,
|
||||
and
|
||||
.BR u
|
||||
conversions, this option has no effect. For
|
||||
.B o
|
||||
conversions, the precision of the number is increased to force the first
|
||||
character of the output string to a zero. For
|
||||
.BR x ( X )
|
||||
conversion, a non-zero result has the string
|
||||
.BR 0x ( 0X )
|
||||
prepended to it. For
|
||||
.BR e ,
|
||||
.BR E ,
|
||||
.BR f ,
|
||||
.BR g ,
|
||||
and
|
||||
.BR G
|
||||
conversions, the result will always contain a decimal point, even if no
|
||||
digits follow the point (normally, a decimal point only appears in the
|
||||
results of those conversions if a digit follows the decimal point). For
|
||||
.B g
|
||||
and
|
||||
.B G
|
||||
conversions, trailing zeros are not removed from the result as they
|
||||
would otherwise be.
|
||||
.TP
|
||||
\(bu
|
||||
a minus sign `\-' which specifies
|
||||
.I "left adjustment"
|
||||
of the converted value in the indicated field;
|
||||
.TP
|
||||
\(bu
|
||||
a `+' character specifying that there should always be
|
||||
a sign placed before the number when using signed conversions.
|
||||
.TP
|
||||
\(bu
|
||||
a space specifying that a blank should be left before a positive number
|
||||
during a signed conversion. A `+' overrides a space if both are used.
|
||||
.RE
|
||||
.TP
|
||||
\(bu
|
||||
an optional digit string specifying a
|
||||
.I "field width;"
|
||||
if the converted value has fewer characters than the field width
|
||||
it will be blank-padded on the left (or right,
|
||||
if the left-adjustment indicator has been given) to make up the field width;
|
||||
if the field width begins with a zero,
|
||||
zero-padding will be done instead of blank-padding;
|
||||
.TP
|
||||
\(bu
|
||||
an optional period
|
||||
.RB ` . '
|
||||
which serves to separate the field width from the next digit string;
|
||||
.TP
|
||||
\(bu
|
||||
an optional digit string specifying a
|
||||
.I precision
|
||||
which specifies the number of digits to appear after the
|
||||
decimal point, for e- and f-conversion, or the maximum number of characters
|
||||
to be printed from a string;
|
||||
.TP
|
||||
\(bu
|
||||
the character
|
||||
.B l
|
||||
specifying that a following
|
||||
.BR d ,
|
||||
.BR o ,
|
||||
.BR x ,
|
||||
or
|
||||
.B u
|
||||
corresponds to a long integer
|
||||
.IR arg .
|
||||
.TP
|
||||
\(bu
|
||||
a character which indicates the type of
|
||||
conversion to be applied.
|
||||
.PP
|
||||
A field width or precision may be `*' instead of a digit string.
|
||||
In this case an integer
|
||||
.I arg
|
||||
supplies
|
||||
the field width or precision.
|
||||
.PP
|
||||
The conversion characters
|
||||
and their meanings are
|
||||
.TP
|
||||
.B dox
|
||||
The integer
|
||||
.I arg
|
||||
is converted to decimal, octal, or
|
||||
hexadecimal notation respectively.
|
||||
.TP
|
||||
.B X
|
||||
Like
|
||||
.BR x ,
|
||||
but use upper case instead of lower case.
|
||||
.TP
|
||||
.B f
|
||||
The float or double
|
||||
.I arg
|
||||
is converted to decimal notation
|
||||
in the style `[\fB\-\fR]ddd.ddd'
|
||||
where the number of d's after the decimal point
|
||||
is equal to the precision specification
|
||||
for the argument.
|
||||
If the precision
|
||||
is missing,
|
||||
6 digits are given;
|
||||
if the precision is explicitly 0, no digits and
|
||||
no decimal point are printed.
|
||||
.TP
|
||||
.B e
|
||||
The float or double
|
||||
.I arg
|
||||
is converted in the style
|
||||
`[\fB\-\fR]d\fB.\fRddd\fBe\fR\(+-dd'
|
||||
where there is one digit before the decimal point and
|
||||
the number after is equal to the
|
||||
precision specification for the argument;
|
||||
when the precision is missing,
|
||||
6 digits are produced.
|
||||
.TP
|
||||
.B g
|
||||
The float or double
|
||||
.I arg
|
||||
is printed in style
|
||||
.BR d ,
|
||||
in style
|
||||
.BR f ,
|
||||
or in
|
||||
style
|
||||
.BR e ,
|
||||
whichever gives full precision in minimum space.
|
||||
.TP
|
||||
.B c
|
||||
The character
|
||||
.I arg
|
||||
is printed.
|
||||
.TP
|
||||
.B s
|
||||
.I Arg
|
||||
is taken to be a string (character pointer)
|
||||
and characters from the string are printed until
|
||||
a null character or until
|
||||
the number of characters indicated by the precision
|
||||
specification is reached;
|
||||
however if the precision is 0 or missing
|
||||
all characters up to a null are printed.
|
||||
.TP
|
||||
.B u
|
||||
The unsigned integer
|
||||
.I arg
|
||||
is converted to decimal
|
||||
and printed.
|
||||
.TP
|
||||
.B %
|
||||
Print a `%'; no argument is converted.
|
||||
.PP
|
||||
In no case does a non-existent or small field width
|
||||
cause truncation of a field;
|
||||
padding takes place only if the specified field
|
||||
width exceeds the actual width.
|
||||
Characters generated by
|
||||
.B printf
|
||||
are printed by
|
||||
.BR putc (3).
|
||||
.PP
|
||||
.B Examples
|
||||
.br
|
||||
To print a date and time in the form `Sunday, July 3, 10:02',
|
||||
where
|
||||
.I weekday
|
||||
and
|
||||
.I month
|
||||
are pointers to null-terminated strings:
|
||||
.PP
|
||||
.RS
|
||||
printf("%s, %s %d, %02d:%02d", weekday, month, day, hour, min);
|
||||
.RE
|
||||
.PP
|
||||
To print
|
||||
.if n pi
|
||||
.if t \(*p
|
||||
to 5 decimals:
|
||||
.IP
|
||||
printf("pi = %.5f", 4*atan(1.0));
|
||||
.SH "SEE ALSO"
|
||||
.BR putc (3),
|
||||
.BR scanf (3),
|
||||
.BR ecvt (3),
|
||||
.BR stdarg (3).
|
||||
Reference in New Issue
Block a user