Warning: main(/www/www/htdocs/style/globals.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/v/vsnprintf.html on line 1
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/globals.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/v/vsnprintf.html on line 1
Warning: main(/www/www/htdocs/style/header.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/v/vsnprintf.html on line 8
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/header.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/v/vsnprintf.html on line 8
Write formatted output to a character array, up to a maximum number of characters (varargs)
#include <stdarg.h>
#include <stdio.h>
int vsnprintf( char* buf,
size_t count,
const char* format,
va_list arg );
- buf
- A pointer to the buffer where you want to function to store the formatted
string.
- count
- The maximum number of characters to store in the buffer, including
a terminating null character.
- format
- A string that specifies the format of the output.
The formatting string determines what additional arguments you need to
provide.
For more information, see
printf().
- arg
- A variable-argument list of the additional arguments, which you
must have initialized with the
va_start()
macro.
libc
Use the -l c option to
qcc
to link against this library.
This library is usually included automatically.
The vsnprintf() function formats data under control of the
format control string and stores the result in buf.
The maximum number of characters to store, including a terminating
null character, is specified by count.
The vsnprintf() function is a “varargs” version of
snprintf().
The number of characters that would have been written into
the array, not counting the terminating null character, had count
been large enough.
It does this even if count is zero; in this case buf
can be NULL.
If an error occurred, vsnprintf() returns a negative value and sets
errno.
Use vsnprintf() in a general
error message routine:
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
char msgbuf[80];
char *fmtmsg( char *format, ... )
{
va_list arglist;
va_start( arglist, format );
strcpy( msgbuf, "Error: " );
vsnprintf( &msgbuf[7], 80-7, format, arglist );
va_end( arglist );
return( msgbuf );
}
int main( void )
{
char *msg;
msg = fmtmsg( "%s %d %s", "Failed", 100, "times" );
printf( "%s\n", msg );
return 0;
}
ANSI,
POSIX 1003.1
Safety: | |
Cancellation point |
No |
Interrupt handler |
No |
Signal handler |
Read the Caveats |
Thread |
Yes |
It's safe to call vsnprintf() in a signal
handler if the data isn't floating point.
errno,
fprintf(),
fwprintf(),
printf(),
snprintf(),
sprintf(),
swprintf(),
va_start(),
vfprintf(),
vfwprintf(),
vprintf(),
vsprintf(),
vswprintf(),
vwprintf(),
wprintf()
Warning: main(/www/www/htdocs/style/footer.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/v/vsnprintf.html on line 202
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/footer.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/v/vsnprintf.html on line 202