📜  C++ vfprintf()

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

C++中的vfprintf() 函数用于将格式化的字符串写入文件流。

vfprintf()原型

int vfprintf( FILE* stream, const char* format, va_list vlist );

vfprintf() 函数将format指向的字符串写入文件流stream 。 字符串格式可以包含以%开头的格式说明符,这些格式说明符由作为列表vlist传递的变量的值替换。

它在头文件中定义。

vfprintf()参数

vfprintf()返回值

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

示例:vfprintf() 函数的工作方式

#include 
#include 

void write(FILE* fp, const char *fmt, ...)
{
    va_list args;
    va_start(args, fmt);
    vfprintf(fp, fmt, args);
    va_end(args);
}

int main ()
{
    FILE *fp = fopen("data.csv","w");
    char name[5][50] = {"John","Harry","Kim","Yuan","Laxmi"};
    int age[5] = {13,41,26,21,32};

    write(fp, "%s,%s\n", "name", "age");
    for (int i=0; i<5; i++)
        write(fp, "%s,%d\n", name[i], age[i]);

    return 0;
}

运行该程序时,会将以下内容写入data.csv文件:

name,age
John,13
Harry,41
Kim,26
Yuan,21
Laxmi,32