此代码是否适合将字符数组(由char指针引用)写入文件?
const char* charBuf;
FILE *outputFile = fopen("output", "a");
fprintf(outputFile, "%s\n", *charBuf);
fclose(outputFile);
假设buf
指向某个字符数组。
答案 0 :(得分:0)
文件模式需要引用:
File *outputFile = fopen("output", "a");
除非您使用模式定义了c-string a
。
假设您已将某些值存储到charBuf
中,则必须使用fprintf中的字符串。 *charBuf
指的是该字符串中的第一个字符。
fprintf(outputFile, "%s\n", charBuf);
您需要显示更多代码才能获得更好的答案。
答案 1 :(得分:0)
它很接近,但你在fprintf(...)
中缺少一个逗号,并且你使用了某种未在任何地方声明的变量charBuf
。
我猜你打算为这个问题写一个“简短的完整例子”,我赞赏你做了同样多的事情,除了它有助于实际测试你的例子,把问题集中在你的部分上感兴趣,而不是让很多人指出错别字等。
答案 2 :(得分: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;
}