不会创建简单的文本文件 [C, GCC]



下面是一个简单的代码,我希望创建SIZE.txt,然后关闭它。它编译时没有错误,也没有警告,但不会创建文件。但是,在执行代码时会抛出分段错误。

感谢您提前提供的帮助。

#include "stdio.h"
void main() {
    FILE *fp;
    fp = fopen("SIZE.txt", "r+");
    fclose(fp);
    return;
}

失败的主要原因是将文件模式指定为"r+",它只会打开现有文件,而不会创建新文件。只有当"w+", "a""a+"被指定为文件模式时,才会创建文件。

检查这个,如果文件存在,它将是显示文件已经存在,但如果文件不存在,它会创建它,取决于你要做什么,ab+你可以改为w

FILE *fp;
fp = fopen("SIZE.txt", "r");
if(fp==NULL){
    fp=fopen("SIZE.txt", "ab+");
    printf("File was createdn");
}
else{
    printf("File already existsn");
}
fclose(fp);
return 0;

更改:

#include "stdio.h"

#include <stdio.h>

此外,检查fopen()返回的NULL指针:

if ((fp = fopen("file.txt", "r")) == NULL) {
   // Handle error...
}

相关内容

  • 没有找到相关文章

最新更新