C - fprintf没有写入文件,不知道为什么?
#include <stdio.h>
#include <stdlib.h>
int main(void){
FILE* pfile=fopen("/home/user-vlad/Programming/C-other/meme.txt","r");
if(pfile==NULL){
printf("ERROR: Stream is equal to NULL\n");
exit(1);
}
fprintf(pfile,"Hello");
fclose(pfile);
return 0;
}
编译器:clang,OS:FreeBSD
答案 0 :(得分:2)
假设文件打开可能是因为您使用参数fopen()
调用"r"
,这意味着读取。
要写,您可以使用参数"w"
fopen("/home/user-vlad/Programming/C-other/meme.txt","w");
或者文件是否已存在"r+"
fopen("/home/user-vlad/Programming/C-other/meme.txt","r+");
或者,如果该文件已存在且您要追加,则可以使用"a"
fopen("/home/user-vlad/Programming/C-other/meme.txt","a");
您可以在fopen()
here上了解详情。