This structure is used to pass information about the options appearing in an instance of a conversion specifier in a printf
template string to the handler and arginfo functions for that specifier. It contains the following members:
int prec
This is the precision specified. The value is -1
if no precision was specified. If the precision was given as ‘*’, the printf_info
structure passed to the handler function contains the actual value retrieved from the argument list. But the structure passed to the arginfo function contains a value of INT_MIN
, since the actual value is not known.
int width
This is the minimum field width specified. The value is 0
if no width was specified. If the field width was given as ‘*’, the printf_info
structure passed to the handler function contains the actual value retrieved from the argument list. But the structure passed to the arginfo function contains a value of INT_MIN
, since the actual value is not known.
wchar_t spec
This is the conversion specifier character specified. It’s stored in the structure so that you can register the same handler function for multiple characters, but still have a way to tell them apart when the handler function is called.
unsigned int is_long_double
This is a boolean that is true if the ‘L’, ‘ll’, or ‘q’ type modifier was specified. For integer conversions, this indicates long long int
, as opposed to long double
for floating point conversions.
unsigned int is_char
This is a boolean that is true if the ‘hh’ type modifier was specified.
unsigned int is_short
This is a boolean that is true if the ‘h’ type modifier was specified.
unsigned int is_long
This is a boolean that is true if the ‘l’ type modifier was specified.
unsigned int alt
This is a boolean that is true if the ‘#’ flag was specified.
unsigned int space
This is a boolean that is true if the ‘ ’ flag was specified.
unsigned int left
This is a boolean that is true if the ‘-’ flag was specified.
unsigned int showsign
This is a boolean that is true if the ‘+’ flag was specified.
unsigned int group
This is a boolean that is true if the ‘'’ flag was specified.
unsigned int extra
This flag has a special meaning depending on the context. It could be used freely by the user-defined handlers but when called from the printf
function this variable always contains the value 0
.
unsigned int wide
This flag is set if the stream is wide oriented.
wchar_t pad
This is the character to use for padding the output to the minimum field width. The value is '0'
if the ‘0’ flag was specified, and ' '
otherwise.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4