带字符串参数的fprintf

为了创建一个格式化的文件,我想利用fprintf 。 它必须得到char*参数,但我有几个字符串变量。 我该如何使用fprintf

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

 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以递增方式写入文件。

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

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

具有多个字符串的fprintf非常简单,如果这就是你所追求的,例如

 const char* charString1 = "This"; const char* charString2 = "is a"; const char* charString3 = "test"; fprintf(fileHandle, "%s, %s, %s", charString1, charString2, charString3); 

fprintf类似于printf,在格式说明符中,您可以根据需要提及%s并给出相应数量的字符串参数。 如果您想要更详细的答案,请发布您的代码。