【发布时间】:2013-10-31 13:35:23
【问题描述】:
这是我的代码
#include <stdio.h>
int main()
{
FILE *file;
file = fopen("file.txt","a+");
fprintf(file,"%s","test :)");
fclose(file);
return 0;
}
不明白为什么它不会创建一个txt文件 帮助
【问题讨论】:
-
出了什么问题?如果你单步执行会发生什么?添加代码以检查
fopen()是否成功,I/O 可能会失败。 -
a+模式的预期行为是在文件不存在时创建文件。我的预感是fopen()调用因特定原因而失败(是的,它可能会失败,因此请始终检查返回值...) -
检查您当前的工作目录(查找 getcwd 和 printf 它或其他东西)。我的猜测是,您可能没有对其尝试在其中创建 file.txt 的文件夹的完全权限,但就像下面的人所说的那样,它可能是任意数量的东西。如果要更改当前工作目录,请在 fopen 之前使用 chdir,或者在 fopen 中硬编码所需的目录,例如 fopen("C://users/me/documents/file.txt","a+");
-
昨天还可以,但今天不行了……我什么都没做……