Research V4 development
authorKen Thompson <ken@research.uucp>
Tue, 6 Nov 1973 01:37:35 +0000 (20:37 -0500)
committerKen Thompson <ken@research.uucp>
Tue, 6 Nov 1973 01:37:35 +0000 (20:37 -0500)
Work on file man/man3/printf.3

Co-Authored-By: Dennis Ritchie <dmr@research.uucp>
Synthesized-from: v4

man/man3/printf.3 [new file with mode: 0644]

diff --git a/man/man3/printf.3 b/man/man3/printf.3
new file mode 100644 (file)
index 0000000..3fea3b0
--- /dev/null
@@ -0,0 +1,137 @@
+.th PRINTF III 9/17/73
+.sh NAME
+printf \*- formatted print
+.sh SYNOPSIS
+.ft B
+printf(format, arg\s6\d1\u\s10, ...);
+.br
+char *format;
+.ft R
+.sh DESCRIPTION
+.it Printf
+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 argument to
+.it printf.
+.s3
+Each conversion specification is introduced by
+the character \fB%\fR.
+Following the \fB%\fR, there may be
+.s3
+.lp +6 2
+\*-    an optional minus sign `\*-' which specifies
+.it "left adjustment"
+of the converted argument
+in the
+indicated field;
+.s3
+.lp +6 2
+\*-    an optional digit string specifying a
+.it "field width;"
+if the converted argument 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;
+.s3
+.lp +6 2
+\*-    an optional period ``\fB.\fR'' which serves to
+separate the field width from the
+next digit string;
+.s3
+.lp +6 2
+\*-    an optional digit string
+.it "(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;
+.s3
+.lp +6 2
+\*-    a character which indicates the type of
+conversion to be applied.
+.s3
+.i0
+The conversion characters
+and their meanings are
+.s3
+.lp +6 3
+d      The argument is converted to decimal notation.
+.s3
+.lp +6 3
+o      The argument is converted to octal notation.
+``0'' will always appear as the first digit.
+.s3
+.lp +6 3
+f      The argument 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.
+The argument should be
+.it float
+or
+.it double.
+.s3
+.lp +6 3
+e      The argument 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.
+The argument should be a
+.it float
+or
+.it double
+quantity.
+.s3
+.lp +6 3
+c      The argument character or character-pair is printed if non-null.
+.s3
+.lp +6 3
+s      The argument 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.
+.s3
+.lp +6 3
+l      The argument is taken to be an unsigned
+integer which is converted to decimal
+and printed (the result will be in the
+range 0 to 65535).
+.s3
+.i0
+If no recognizable character appears after the \fB%\fR,
+that character is printed;
+thus \fb%\fR may be printed by use of the
+string \fB%%\fR.
+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
+.it printf
+are printed by calling
+.it putchar.
+.sh "SEE ALSO"
+putchar (III)
+.sh BUGS
+Very wide fields (>128 characters) fail.