📅  最后修改于: 2020-09-25 08:42:56             🧑  作者: Mango
int vsprintf( char* buffer, const char* format, va_list vlist );
的vsprintf()
函数将通过格式指向为<字符>缓冲区中的字符串 。 字符串格式可以包含以%开头的格式说明符,这些格式说明符由作为列表vlist
传递的变量的值替换。
它在
如果成功,则vsprintf()
函数将返回写入的字符数。失败时,它将返回负值。
#include
#include
void write(char* buf, const char *fmt, ...)
{
va_list args;
va_start(args, fmt);
vsprintf(buf, fmt, args);
va_end(args);
}
int main ()
{
char buffer[100];
char fname[20] = "Bjarne";
char lname[20] = "Stroustrup";
char lang[5] = "C++";
write(buffer, "%s was created by %s %s\n", lang, fname, lname);
printf("%s", buffer);
return 0;
}
运行该程序时,输出为:
C++ was created by Bjarne Stroustrup