2015-04-29 46 views
-1

在C中,而從文件讀取,問題是讀取一組空間分隔的整數到一個數組和最後一個整數作爲另一實體像如何從文件向數組添加一系列數字?

{ 2 3 14 } 15 
{ 2 3 15 16 19} 20 

要存儲2 3 14到一個數組和15爲單獨的變量和括號中的下一個集合相同,我需要將其存儲在結構中。

struct dataset{ 
    int support; 
    int s[100]; 
    } 

和使用

while(fscanf(fp,"%1d %d",dataset[i].s[k],&dataset[i].support) != EOF) 

這裏的數據集[I]的.s [k]的應讀取一組封閉的括號內爲整數數組讀取文件。

+1

使用'strtol()'而不是'scanf()',你能提供一個示例文件嗎?此外,不要將'fscanf()'輸出與'EOF'的輸出進行比較,而是將其與必須讀取的值的數量進行比較,如果讀取失敗,則會導致未定義的行爲。 –

+0

不要讓我們做你的功課。 –

回答

0

fscanf看起來怪怪的...

在行

fscanf(fp,"%1d %d",dataset[i].s[k],&dataset[i].support) 

講究的:

1)什麼%1d是什麼意思? (也許,%d是你所需要的)

2)它接縫你需要兩個fscanf:在s第一項目(這應該是嵌套循環),第二個爲support

3)I沒有看到你用文件中的'{'和'}'字符做什麼......