Your Browser is not longer supported
Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...
{{viewport.spaceProperty.prod}}
vsprintf - formatted output to a string
&pagelevel(4)&pagelevel
Syntax | #include <stdio.h> int vsprintf(char *s, const char *format, va_list arg); |
Description | vsprintf() is the same as the sprintf() function. In contrast to sprintf(),
vsprintf() allows for the output of arguments whose number and data type are not known at the time of compilation.
vsprintf() is used in functions that can be passed a different format string as well as different arguments for output from the caller. The format string format stands for the formal parameter list of the function definition and a variable argument list ", ...".
vsprintf() processes an argument list arg with successive internal va_arg calls and writes the arguments to the string s according to the format string format. The variable argument list arg must be initialized before calling vsprintf() using the va_start macro. The function has the following parameters:
char *s Pointer to the resulting string. vsprintf() terminates the string with the null byte (\0). const char *format Format string like for printf() with ANSI functionality (see printf() for a description). The following difference exists with respect to white space characters (\n, \t, etc.):
vsprintf() enters the EBCDIC value of the control character in the resulting string. Only when it is output to a text file will the control characters be converted to their appropriate effect in accordance with the type of text file (see "White-space characters"). va_list arg Pointer to the variable argument list that was initialized with va_start. |
Return val. | Number of characters stored in s. The terminating null byte (\0) generated by vsprintf()
is not counted. |
Notes | vsprintf() always starts with the first argument in the variable argument list. It is possible to start output from any particular argument by issuing the appropriate number of va_arg calls before calling the vsprintf() function. Each va_arg call advances the position in the argument list by one argument.
vsprintf() does not call the va_end macro. Since vsprintf() uses the va_arg macro, the value of arg is undefined upon returning. The behavior is undefined for overlapping memory areas.
|
See also | vfprintf(), vprintf().
|