我目前正在從C中USACO的舊編碼問題。這裏是我的代碼的第一對夫婦的行,我嘗試使用fscanf()
函數來獲取第一值,int
,從blocks.in
文件:C fscanf分段錯誤錯誤「沒有源可用於」flockfile()在0x7fff855e6d39「
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fin = fopen ("blocks.in", "r");
FILE *fout = fopen ("blocks.out", "w");
int i,j;
int linecount = 0;
int alphabetCount[26];
fscanf(fin," %d",&linecount);
運行GDB(如Eclipse的C/C++ IDE的一部分),我始終得到關於分段錯誤行:
fscanf(fin," %d",&linecount);
錯誤始終寫着:適用於 「flockfile()在0x7fff855e6d39」
我一直沒能源問題
沒有源。過去我沒有遇到任何問題。你是否看到了錯誤,或者有更好的解決方案/功能來提取數據?
也許'fin = fopen(「blocks.in」,「r」)'失敗。在'fscanf(fin,「%d」,&linecount)之前測試'if(fin)';' – chux
歡迎使用Stack Overflow。 請注意,在這裏說'謝謝'的首選方式是通過 提高投票的好問題和有用的答案(一旦你有足夠的聲譽這樣做),並接受任何 問題最有用的答案,你問(這也給你一個小小的提升,以你的聲望 )。 請參閱[關於]頁面,以及[如何在此處提問 ?]和 [當有人回答我的 問題時,我該怎麼辦? ?](http://stackoverflow.com/help/someone-answers) –