回覆列表
  • 1 # 使用者834195712159

    當使用檔案作為輸入流時,為了確保適時的結束檔案讀取操作,程式要靠檢查檔案尾來判斷該何時停止讀取。

    常用的檢查檔案尾方法有兩種:

      兩種方式均已將 fin 與檔案關聯,即 均已宣告 fin 輸入流,並已呼叫 open 成員函式打開了檔案。

    第一種:該方式可以要求程式從檔案中連續讀取數字,直到沒有更多的數字可供讀取為止。程式碼如下:

    int next;

    while(fin >> next){

    //使用者程式碼

    }

    第二種:該方式利用每個輸入檔案流都有的 eof 成員函式來判斷何時讀完檔案的全部內容。程式碼如下:

    int number;

    fin.get(number);

    while( !fin.eof() ){

    //使用者程式碼

    fin.get(number);

    }

    當 eof 函式檢測到檔案尾,會返回 真,否則返回 假。

      注意,用該種方式必須保證要讀取檔案結尾之後,eof 函式才會反應。這就是為何本段程式碼 while 中用 fin.get(number);結尾的原因。

    以上兩種檢測檔案結尾在多數情況均可使用,但最好遵循以下原則:

      將輸入作為文字處理並用 get 成員函式讀取時,用 eof 成員函式方式。

      處理數值資料時,用第一種方式。

  • 中秋節和大豐收的關聯?
  • 如何在氣溫38℃的夏天穿好西裝?