这是我的代码
#include <stdio.h>
int main()
{
FILE *file;
file = fopen("file.txt","a+");
fprintf(file,"%s","test :)");
fclose(file);
return 0;
}
不明白为什么它不会创建txt文件 帮助
答案 0 :(得分:1)
请尝试perror检查您是否有权写入该文件。这是大多数时候的问题。在fopen
之后添加if (!file)
perror("fopen");
答案 1 :(得分:1)
您需要检查程序中的错误。 fopen()
因各种原因而失败。我们可以检查errno,或使用perror / strerror打印有用的消息。
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *file = fopen("file.txt","a+");
if (file == NULL) {
perror("Failed to open the file");
exit(-1);
}
fprintf(file,"%s","test :)");
fclose(file);
return 0;
}
例如,如果文件存在于当前目录中,但由其他用户拥有:
[8:40am][wlynch@watermelon /tmp] ./foo
Failed to open the file: Permission denied
答案 2 :(得分:0)
Create a file if one doesn't exist - C 这里有答案......标记下的那个在我的s.o上为我工作。你试图做的方式并不适用于Windows,但适用于Linux。很抱歉说出我之前说的话......两个操作系统都有明亮而不那么光明的一面。