2017-10-12 77 views
-1
#include <stdio.h> 
#define BUFFER_SIZE 80 
int main() 
{ 
    FILE* fp = fopen("fp.txt" ,"r"); 
    char buf[BUFFER_SIZE]; 
    if(fp!=NULL) 
    { 
     while (!feof(fp)) 
      { 
       fscanf(fp ,"%s",buf); 
        printf("Read line: %s\n" ,buf);\ 
        printf("\n"); 
      } 
    } 
    fclose(fp); 
} 
//need create fp file 
    UW 
    CSE  

如何停止CSE不再重複CSE。你可以使用條件if-else do-while等。如何停止CSE不重複CSE

+1

對不起,你能澄清你的問題一點? –

+2

重複CSE的CSE是什麼? – Gerhardh

+0

你想停止CSE不再重複CSE嗎?即你想讓它再次重複CSE嗎? – Yunnosch

回答

0

請參閱Why is 「while (!feof (file))」 always wrong?功能feof不做許多初學者想象的。

爲什麼你重複輸入CSE究其原因,是因爲你讀的文件超越結束後,該數據仍然在緩衝區中。

我勸你循環改變

while (fscanf(fp, "%79s", buf) == 1) { 
    printf("Read line: %s\n", buf); 
} 
+0

代碼格式上的小問題:空格字符通常在逗號之後鍵入,而不是在逗號之前。 –