我想学习C编程语言中的文件I/O概念。我正在使用GNU/Linux(Ubuntu 16.04 LTS)和我的IDE是eclipse 3.8。当我尝试通过fprintf()
方法尝试写入文件时,它不会创建任何文件,或者如果该文件甚至已创建,则不会写入该文件。我试图通过使用fflush()
或setbuf(file_pointer, NULL)
方法来解决问题,正如建议here但仍然没有改变。我想我以错误的方式写入文件的地址。fprintf()在ubuntu中不工作
下面是代码:
#include <stdio.h>
int main(void){
FILE *file_pointer;
file_pointer=fopen("~/.textsfiless/test.txt","w+");
setbuf(file_pointer,NULL);
fprintf(file_pointer,"Testing...\n");
fclose(file_pointer);
return EXIT_SUCCESS;
}
有人能解释什么是错在这里?
'setbuf(file_pointer,NULL);'必须在文件'fopen'后面完成...... – LPs
为什么不检查'fopen()'的成功? –
检查'fopen'返回的值,如果文件路径错误,它可能会失败。 – LPs