2015-06-28 82 views
1

我需要將文本文件中的行保存到一個字符串中,然後將它們插入到數據結構中,但是使用我的解決方案(我認爲它非常糟糕) - 我只會將文字保存到我的line中。將文件中的行保存到新字符串中。 C

FILE * ifile = fopen("input.txt", "r"); 
    char line[256]; 

    while(fscanf(ifile, "%s\n", line) == 1) { 
     //inserting "line" into data structure here - no problem with that one 
    } 
+0

'「%s \ n」' - >'「%[^ \ n]」' –

回答

3

這幾乎總是一個壞主意,使用fscanf()功能,因爲它可以在故障地點不詳留下您的文件指針。

您應該使用fgets()來獲取每一行。

#define SIZE_LINE 256 
FILE *ifile = fopen ("input.txt", "r"); 
if (ifile != NULL) { 
    while (fgets (buff, SIZE_LINE, ifile)) { 
     /* //inserting "line" into data structure here */ 
    } 
    fclose (ifile); 
} 
+0

非常感謝! – Megabight

+1

哦,我做到了,但我需要贏得更多的聲望才能讓它數數或者什麼...... – Megabight

相關問題