GNU Info

Info Node: (libc.info)Customizing Printf

(libc.info)Customizing Printf


Next: Formatted Input Prev: Formatted Output Up: I/O on Streams
Enter node , (file) or (file)node

Customizing `printf'
====================

   The GNU C library lets you define your own custom conversion
specifiers for `printf' template strings, to teach `printf' clever ways
to print the important data structures of your program.

   The way you do this is by registering the conversion with the
function `register_printf_function'; see Note: Registering New
Conversions.  One of the arguments you pass to this function is a
pointer to a handler function that produces the actual output; see
Note: Defining the Output Handler, for information on how to write
this function.

   You can also install a function that just returns information about
the number and type of arguments expected by the conversion specifier.
Note: Parsing a Template String, for information about this.

   The facilities of this section are declared in the header file
`printf.h'.

Registering New Conversions
Using `register_printf_function'
to register a new output conversion.
Conversion Specifier Options
The handler must be able to get
the options specified in the template when it is called.
Defining the Output Handler
Defining the handler and arginfo
functions that are passed as arguments to `register_printf_function'.
Printf Extension Example
How to define a `printf'
handler function.
Predefined Printf Handlers
Predefined `printf' handlers.
   *Portability Note:* The ability to extend the syntax of `printf'
template strings is a GNU extension.  ISO standard C has nothing
similar.


automatically generated by info2www version 1.2.2.9