SPRINTMT(3) Library Routines SPRINTMT(3)
NAME
sprintmt, vsprintmt - multi threading safe print formatting
SYNOPSIS
#include <gno/gno.h>
char *sprintmt (char *buffer, size_t bufferlen, const char *fmt, ...);
char *vsprintmt (char *buffer, size_t bufferlen, const char *fmt,
va_list ap);
DESCRIPTION
sprintmt and vsprintmt are multithread-safe versions of the sprintf(3)
and vsprintf(3) routines.
The contents of the format string fmt, with appropriate arguments sub‐
stituted for the format specifiers, is copied into the user supplied
buffer. At most, bufferlen-1 characters will be written to buffer.
These routines have a much more limited set of format specifiers than
do the usual stdio routines. They are:
%d, %ld
Print the decimal representation of a value of type int
or long int, respectively.
%u, %lu
Print the decimal representation of a value of type un
signed int or unsigned long int, respectively.
%x, %X, %lx, %lX
Print the hexadecimal representation of an unsigned int
or unsigned long int. If the x character is used, alpha‐
betic characters are in lower case; otherwise they are in
upper case.
%s Print a NULL-terminated string. If the 's' is preceeded
by an 'l', the 'l' is ignored.
%m Print the current textual representation of errno, as re‐
turned by strerror(3). If the 'm' is preceeded by an
'l', the 'l' is ignored. This format specifier is not
available in the usual stdio functions.
RETURN VALUE
These routines return a pointer to the terminating NULL byte in buffer.
MT STATUS
Safe.
SEE ALSO
printf(3), stdio(3), strerror(3).
GNO 24 October 1998 SPRINTMT(3)
Man(1) output converted with
man2html