📜  C++ vsprintf()

📅  最后修改于: 2020-09-25 08:42:56             🧑  作者: Mango

C++中的vsprintf() 函数用于将格式化的字符串写入字符串缓冲区。

vsprintf()原型

int vsprintf( char* buffer, const char* format, va_list vlist );

vsprintf() 函数将通过格式指向为<字符>缓冲区中的字符串 。 字符串格式可以包含以%开头的格式说明符,这些格式说明符由作为列表vlist传递的变量的值替换。

它在头文件中定义。

vsprintf()参数

vsprintf()返回值

如果成功,则vsprintf() 函数将返回写入的字符数。失败时,它将返回负值。

示例: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