讀書,我有一個文本文件,它看起來像:使用與fgets && sscanf的從一個數組
C M 2/1/2015 18280 "2107070770"
C U 2/1/2015 18300 "2107070770"
文本文件有多條線路。我試圖將 每行存儲到一個字符串數組中,然後將每個值 存儲到變量中,我想要使用它。 (我開的fopen成功文件)
我存儲與下面的方式每行:
char line[50];
char *lines[40];
char *eof ;
int i ;
while((eof = fgets(line, 50, in)) != NULL)
{
lines[i] = strdup(eof);
i++;
}
於是,我試圖存儲每個值轉換成變量,用下面的方法:
所以,我可以分別在每一行工作。 我的代碼將每行成功存儲到數組中,但在添加sscanf函數後,它會停止工作,但不會輸出任何內容。 我做錯了什麼?
'while((eof = fgets(line,50,in))!= NULL)' - >'while(fgets(line,50,in))',並且最後一個參數爲'scanf'你不需要傳遞一個地址,因爲'name'已經(或衰減)了一個指針。 –
'i'在這裏沒有被初始化。默認情況下,自動變量沒有被初始化。 – sjsam
七個轉換說明符。六個變量。未定義的行爲。你完蛋了。 ;-) – DevSolar