带字符串参数的 fprintf

带字符串参数的 fprintf

问题描述:

为了创建格式化文件,我想使用fprintf.它必须获得 char* 参数,但我有几个字符串变量.如何使用 fprintf?

In order to create a formatted file, I want to utilize fprintf. It must get char* parameters, but I have several string variables. How can I use fprintf?

fprintf 与字符串的基本用法如下所示:

The basic usage of fprintf with strings looks like this:

char *str1, *str2, *str3;
FILE *f;
// ...

f = fopen("abc.txt", "w");
fprintf(f, "%s, %s\n", str1, str2);
fprintf(f, "more: %s\n", str3);
fclose(f);

您可以使用多个 %s 格式说明符添加多个字符串,并且您可以使用重复调用 fprintf 来增量写入文件.

You can add several strings by using several %s format specifiers and you can use repeated calls to fprintf to write the file incrementally.

如果您有 C++ std::string 对象,您可以使用它们的 c_str() 方法来获得适合使用的 const char*使用 fprintf:

If you have C++ std::string objects you can use their c_str() method to get a const char* suitable to use with fprintf:

std::string str("abc");
fprintf(f, "%s\n", str.c_str());