Annotation of coherent/a/usr/man/ALL/printf, revision 1.1

1.1     ! root        1: 
        !             2: 
        !             3: printf()                      STDIO                      printf()
        !             4: 
        !             5: 
        !             6: 
        !             7: 
        !             8: Print formatted text
        !             9: 
        !            10: iinntt pprriinnttff(_f_o_r_m_a_t [,_a_r_g_1, .... _a_r_g_N])
        !            11: cchhaarr *_f_o_r_m_a_t; [ddaattaa ttyyppee] _a_r_g_1, ... _a_r_g_N;
        !            12: 
        !            13: printf  prints formatted  text.   It uses  the  format string  to
        !            14: specify an  output format for  each arg, which it  then writes on
        !            15: the standard output.
        !            16: 
        !            17: printf reads characters from  format one at a time; any character
        !            18: other than a percent sign `%' or a string that is introduced with
        !            19: a percent  sign is  copied directly to  the output.  A  `%' tells
        !            20: printf that  what follows specifies how  the corresponding arg is
        !            21: to be formatted; the characters  that follow `%' can set the out-
        !            22: put  width and  the type  of  conversion desired.   The following
        !            23: modifiers, in this order, may precede the conversion type:
        !            24: 
        !            25: 11. A minus sign  `-'  left-justifies the output field, instead of
        !            26:    the default right justify.
        !            27: 
        !            28: 22. A string of digits gives the width of the output field.  Norm-
        !            29:    ally, printf  pads the  fiel padded  with spaces to  the field
        !            30:    width; it  is padded on the left  unless left justification is
        !            31:    specified with a `-'.  If the field width begins with `0', the
        !            32:    field is padded with `0' characters instead of spaces; the `0'
        !            33:    does not cause the field width to be taken as an octal number.
        !            34:    If  the width  specification is an  asterisk `*',  the routine
        !            35:    uses the  next arg as an  integer that gives the  width of the
        !            36:    field.
        !            37: 
        !            38: 33. A period  `.' followed by one or more  digits gives the preci-
        !            39:    sion.   For floating  point  (ee, ff,  and  gg) conversions,  the
        !            40:    precision sets the  number of digits printed after the decimal
        !            41:    point.   For string  (ss) conversions,  the precision  sets the
        !            42:    maximum number of characters that can be used from the string.
        !            43:    If the  precision specification is  given as an  asterisk `*',
        !            44:    the routine  uses the  next arg as  an integer that  gives the
        !            45:    precision.
        !            46: 
        !            47: 44. The letter  `ll' before any integer conversion (dd,  oo, xx, or uu)
        !            48:    indicates  that the  argument is  a long  rather than  an int.
        !            49:    Capitalizing the  conversion type  has the same  effect; note,
        !            50:    however, that capitalized  conversion types are not compatible
        !            51:    with  all C  compiler libraries,  or  with the  ANSI standard.
        !            52:    This  feature will  not  be supported  in  future editions  of
        !            53:    COHERENT.
        !            54: 
        !            55: The following format conversions are recognized:
        !            56: 
        !            57: %  Print a `%' character.  No arguments are processed.
        !            58: 
        !            59: cc  Print the int argument as a character.
        !            60: 
        !            61: 
        !            62: 
        !            63: 
        !            64: COHERENT Lexicon                                           Page 1
        !            65: 
        !            66: 
        !            67: 
        !            68: 
        !            69: printf()                      STDIO                      printf()
        !            70: 
        !            71: 
        !            72: 
        !            73: dd  Print the int argument as signed decimal numerals.
        !            74: 
        !            75: DD  Print the long argument as signed decimal numerals.
        !            76: 
        !            77: ee  Print  the float or double argument  in exponential form.  The
        !            78:    format is _d._d_d_d_d_d_dee_s_d_d, where there is always one digit before
        !            79:    the decimal point and as many as the precision digits after it
        !            80:    (default, six).  The exponent sign _s may be either `+' or `-'.
        !            81: 
        !            82: ff   Print  the float  or  double  argument as  a  string with  an
        !            83:    optional leading minus  sign `-',  at least one decimal digit,
        !            84:    a decimal  point (`.'), and optional  decimal digits after the
        !            85:    decimal point.   The number of digits  after the decimal point
        !            86:    is the precision (default, six).
        !            87: 
        !            88: gg  Print the float or double argument as whichever of the formats
        !            89:    d, e, or f loses  no significant precision and takes the least
        !            90:    space.
        !            91: 
        !            92: oo  Print the int argument in unsigned octal numerals.
        !            93: 
        !            94: OO  Print the long argument in unsigned octal numerals.
        !            95: 
        !            96: rr  The next argument points to an array of new arguments that may
        !            97:    be used recursively.  The first argument of the list is a cchhaarr
        !            98:    * that  contains a  new format string.   When the list  is ex-
        !            99:    hausted, the  routine continues from where it  left off in the
        !           100:    original format string.
        !           101: 
        !           102: ss   Print  the  string  to  which  the cchhaarr  *  argument  points.
        !           103:    Reaching either  the end  of the  string, indicated by  a null
        !           104:    character, or the  specified precision, will terminate output.
        !           105:    If no precision is given, only the end of the string will ter-
        !           106:    minate.
        !           107: 
        !           108: uu  Print the int argument in unsigned decimal numerals.
        !           109: 
        !           110: UU  Print the long argument in unsigned decimal numerals.
        !           111: 
        !           112: xx  Print the int argument in unsigned hexadecimal numerals.
        !           113: 
        !           114: XX  Print the long argument in unsigned hexadecimal numerals.
        !           115: 
        !           116: ***** Example *****
        !           117: 
        !           118: The following example demonstrates many pprriinnttff statements.
        !           119: 
        !           120: 
        !           121: main()
        !           122: {
        !           123:         extern void demo_r();
        !           124:         int precision = 1;
        !           125:         int integer = 10;
        !           126:         float decimal = 2.75;
        !           127:         double bigdec = 27590.21;
        !           128: 
        !           129: 
        !           130: COHERENT Lexicon                                           Page 2
        !           131: 
        !           132: 
        !           133: 
        !           134: 
        !           135: printf()                      STDIO                      printf()
        !           136: 
        !           137: 
        !           138: 
        !           139:         char letter = 'K';
        !           140:         char buffer[20];
        !           141: 
        !           142: 
        !           143: 
        !           144:         strcpy (buffer, "This is a string.\n");
        !           145: 
        !           146: 
        !           147: 
        !           148:         printf("This is an int:   %d\n", integer);
        !           149:         printf("This is a float:  %f\n", decimal);
        !           150:         printf("Another float:    %3.*f\n", precision, decimal);
        !           151:         printf("This is a double: %lf\n", bigdec);
        !           152:         printf("This is a char:   %c\n", letter);
        !           153:         printf("%s", buffer);
        !           154:         printf("%s\n", "This is also a string.");
        !           155: 
        !           156: 
        !           157: 
        !           158:         demo_r("Print everything: %d %f %lf %c",
        !           159:                 integer, decimal, bigdec, letter);
        !           160:         exit(0);
        !           161: }
        !           162: 
        !           163: 
        !           164: 
        !           165: void demo_r(string)
        !           166: char *string;
        !           167: {
        !           168:         printf("%r\n", (char **)&string);
        !           169: }
        !           170: 
        !           171: 
        !           172: ***** See Also *****
        !           173: 
        !           174: fprintf(), putc(), puts(), scanf(), sprintf(), STDIO
        !           175: 
        !           176: ***** Notes *****
        !           177: 
        !           178: Because C  does not perform  type checking, it  is essential that
        !           179: each argument match its counterpart in the format string.
        !           180: 
        !           181: The use of upper-case format characters to specify long arguments
        !           182: is not standard, and will be  phased out to conform with the ANSI
        !           183: standard.  You should use the `l' modifier to indicate a lloonngg.
        !           184: 
        !           185: At present, pprriinnttff does not return a meaningful value.
        !           186: 
        !           187: 
        !           188: 
        !           189: 
        !           190: 
        !           191: 
        !           192: 
        !           193: 
        !           194: 
        !           195: 
        !           196: COHERENT Lexicon                                           Page 3
        !           197: 
        !           198: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.