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