PRINTF(III) 9/17/73 PRINTF(III) NAME printf - formatted print SYNOPSIS printf(format, arg1, ...); char *format; DESCRIPTION Printf converts, formats, and prints its arguments after the first under control of the first argument. The first argu- ment is a character string which contains two types of ob- jects: plain characters, which are simply copied to the out- put stream, and conversion specifications, each of which causes conversion and printing of the next successive argu- ment to printf. Each conversion specification is introduced by the character %. Following the %, there may be - an optional minus sign ``-'' which specifies left ad- justment of the converted argument in the indicated field; - an optional digit string specifying a 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 giv- en) to make up the field width; - an optional period ``.'' which serves to separate the field width from the next digit string; - an optional digit string (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; - a character which indicates the type of conversion to be applied. The conversion characters and their meanings are d o x The integer argument is converted to decimal, octal, or hexadecimal notation respectively. f The argument is converted to decimal notation in the style ``[-]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 dig- its are given; if the precision is explicitly 0, no digits and no decimal point are printed. The argument should be float or double. - 1 - PRINTF(III) 9/17/73 PRINTF(III) e The argument is converted in the style ``[-]d.ddde+-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 ar- gument should be a float or double quantity. c The argument character is printed. s The argument is taken to be a string (character point- er) and characters from the string are printed until a null character or until the number of characters indi- cated by the precision specification is reached; how- ever if the precision is 0 or missing all characters up to a null are printed. 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). If no recognizable character appears after the %, that char- acter is printed; thus % may be printed by use of the string %%. 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 printf are printed by calling putchar. SEE ALSO putchar(III) BUGS Very wide fields (>128 characters) fail. - 2 -