-2

此代码是否适合将字符数组(由 char 指针引用)写入文件?

const char* charBuf;

FILE *outputFile = fopen("output", "a");
fprintf(outputFile, "%s\n", *charBuf);
fclose(outputFile);

假设buf指向某个字符数组。

4

3 回答 3

0

文件模式需要报价:

File *outputFile = fopen("output", "a");

a除非您使用该模式定义了 c 字符串。

假设您已将一些值存储到charBuf中,则必须使用 fprintf 中的字符串。*charBuf指该字符串中的第一个字符。

fprintf(outputFile, "%s\n", charBuf);

您需要显示更多代码以获得更好的答案。

于 2012-09-26T19:03:26.600 回答
0

它很接近,但是您在 中缺少逗号fprintf(...),并且您使用了某种charBuf未在任何地方声明的变量。

我猜你的意思是为这个问题写一个“简短的完整示例”,我赞赏你做了很多,除了它有助于实际测试你的例子,将问题集中在你感兴趣的部分,而不是让很多人指出错别字等。

于 2012-09-26T19:03:32.250 回答
0

您应该确保文件打开成功。

FILE *outputFile = fopen("output", "a");

应该跟一个错误检查:

#include <errno.h>
#include <string.h>
if ( FILE == NULL )
{
   printf("ERROR: could not open output\n");
   printf("the error was: %s\n",strerror(errno));
   return;
}
于 2012-09-26T22:42:44.227 回答