我試圖寫一個字到使用此功能的文件:的fwrite寫一個整數
extern void write_int(FILE * out, int num) {
fwrite(&num,sizeof(int),1, out);
if(ferror(out)){
perror(__func__);
exit(EXIT_FAILURE);
}
}
,但我得到每當它試圖運行fwrite的分段錯誤。我查看了fwrite(3)的手冊頁,我覺得我正確使用了它,有什麼我錯過了嗎?
什麼平臺/編譯器?一致性問題可能很重要。 – abelenky 2010-04-23 03:04:14
只要確保'out'不是'NULL',休息就好了。 – 2010-04-23 03:14:32
當我測試這段代碼時,我沒有想到,並決定寫一個名爲「test」的測試文件,這也是我的測試程序的二進制文件的名稱,它給了我一個段錯誤。 >。所以函數本身很好,只要確定你傳入的是有效的,正如N 1.1和其他人所建議的那樣。 – 2010-04-23 03:23:19