0
嘿家伙我有这样的代码:(IM试图读取一个字符串,并把它的输出文件中)分段错误(核心转储)
#include "structs.h"
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE* input = fopen("journal.txt", "r");
FILE* output = fopen("output.txt", "w");
char date[9];
if(ferror(input) || ferror(output)) {
perror("Error opening input/output file\n");
}
fscanf(input, "%s", date);
fgets(date, 9, input);
fputs(date, output);
fclose(input);
fclose(output);
return 0;
}
编译正确,但在运行时,它显示了错误
Segmentation fault (core dumped)
我不知道为什么:(请帮助
如果文件无法打开,'fopen'返回NULL。你不检查这个。 – Zeta
如果你使用'* nix',你可以使用[* gdb *](http://www.unknownroad.com/rtfm/gdbtut/gdbsegfault.html) –
为什么你首先'fscanf'ing,然后*也'* fgets'到'日期'? – Kninnug