diff options
Diffstat (limited to 'stdlib/printf.mli')
-rw-r--r-- | stdlib/printf.mli | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/stdlib/printf.mli b/stdlib/printf.mli new file mode 100644 index 000000000..943f97209 --- /dev/null +++ b/stdlib/printf.mli @@ -0,0 +1,45 @@ +(* Formatting printing functions *) + +val fprintf: out_channel -> ('a, out_channel, unit) format -> 'a + (* [fprintf outchan format arg1 ... argN] formats the arguments + [arg1] to [argN] according to the format string [format], + and outputs the resulting string on the channel [outchan]. + The format is a character string which contains two types of + objects: plain characters, which are simply copied to the + output channel, and conversion specifications, each of which + causes conversion and printing of one argument. + Conversion specifications consist in the [%] character, followed + by optional flags and field widths, followed by one conversion + character. The conversion characters and their meanings are: +- [d] or [i]: convert an integer argument to signed decimal +- [u]: convert an integer argument to unsigned decimal +- [x]: convert an integer argument to unsigned hexadecimal, + using lowercase letters. +- [X]: convert an integer argument to unsigned hexadecimal, + using uppercase letters. +- [s]: insert a string argument +- [c]: insert a character argument +- [f]: convert a floating-point argument to decimal notation, + in the style [dddd.ddd] +- [e] or [E]: convert a floating-point argument to decimal notation, + in the style [d.ddd e+-dd] (mantissa and exponent) +- [g] or [G]: convert a floating-point argument to decimal notation, + in style [f] or [e], [E] (whichever is more compact) +- [b]: convert a boolean argument to the string [true] or [false] +- [a]: user-defined printer. Takes two arguments and apply the first + one to [outchan] (the current output channel) and to the second + argument. The first argument must therefore have type + [out_channel -> 'b -> unit] and the second ['b]. + The output produced by the function is therefore inserted + in the output of [fprintf] at the current point. +- [t]: same as [%a], but takes only one argument (with type + [out_channel -> unit]) and apply it to [outchan]. +- Refer to the C library [printf] function for the meaning of + flags and field width specifiers. *) + +val printf: ('a, out_channel, unit) format -> 'a + (* Same as [fprintf], but output on [std_out]. *) + +val eprintf: ('a, out_channel, unit) format -> 'a + (* Same as [fprintf], but output on [std_err]. *) + |