0
我有一個代碼,我認爲我已經編譯過去併成功,但現在我正在運行到一個段錯誤,我看不出爲什麼。C代碼在使用fseek時存在segfaulting
FILE *numbers = fopen("./e13.txt", "r");
//seeking the end of the file to get the correct size for the string
//I will store
fseek(numbers, 0, SEEK_END);
long fsize = ftell(numbers);
fseek(numbers, 0, SEEK_SET);
//Allocating memory to the string
char *string = malloc(fsize + 1);
我想文件讀入內存中,因此我得到它的正確尺寸,並試圖malloc
的內存量。我認爲這是在fseek功能segfaulting,但我不明白爲什麼...
也許是你開始檢查錯誤的時間。 –
我該怎麼做呢? – deltaskelta
第1步。閱讀每個手冊頁以找出錯誤時返回的值。例如['fopen'手冊頁](http://linux.die.net/man/3/fopen)。第2步。檢查這些錯誤。例如'if(!numbers){perror(「fopen failed」);出口(1); }' – kaylum