不会创建txt文件的C程序

时间:2013-10-31 13:35:24

标签: c file

这是我的代码

#include <stdio.h> 
int main() 
{ 
FILE *file; 
file = fopen("file.txt","a+"); 

fprintf(file,"%s","test :)");
fclose(file); 

return 0; 
}

不明白为什么它不会创建txt文件 帮助

3 个答案:

答案 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。很抱歉说出我之前说的话......两个操作系统都有明亮而不那么光明的一面。