#include <stdio_c.h>
int vsprintf_c(char *s, __code const char *format, va_list arg);
vsprintf_c writes to the string pointed to by s under control of the string pointed to by format that specifies how subsequent arguments are converted for output. The format string is stored in flash (code) memory. Before calling vsprintf_c, arg must be initialized by the va_start macro (and possibly subsequent va_arg calls). vsprintf_c does not invoke the va_end macro.
A null character is written at the end of the characters written; it is not counted as part of the returned value.
If there are insufficient arguments for the format, the behavior is undefined. If the format is exhausted while arguments remain, the excess arguments are evaluated but are otherwise ignored.
If copying takes place between objects that overlap, the behavior is undefined.
vsprintf_c returns number of characters transmitted (not counting the terminating null), or a negative value if an output or encoding error occurred.
vsprintf_c is equivalent to sprintf_c with the variable argument list replaced by arg,
vsprintf_c is an extension provided by CrossWorks C.