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