C++中的檔案輸入/輸出(2):讀取檔案 (轉)
C++中的輸入/輸出(2)
原作:Ilia Yordanov, loobian@cpp-home.com:namespace prefix = o ns = "urn:schemas--com::office" />
讀取檔案
你已經看到了應該如何寫檔案。現在,當我們已經得到cpp-home.txt檔案時,我們將要讀取它,並且將內容列印在螢幕上。
首先,我要指出的是,有很多種方法可以讀取檔案。以後我會向你們介紹所有的方法(就我所知的)。此刻,我先向你展示最佳的方法(我認為的)。
正如你已經熟悉的——我將首先給出一段程式碼,然後,我會詳細地對它進行解釋說明:
#include
void main() //程式從這裡開始
{
ifstream OpenFile("cpp-home.txt");
char ch;
while(!OpenFile.eof())
{
OpenFile.get(ch);
cout << ch;
}
OpenFile.close();
}
你想必已經瞭解首行的意義所在,而剩下的部分將由我為你解釋。
ifstream OpenFile(“cpp-home.txt”) —— 我猜它對現在的你而言多少會熟悉些!ifstream表示“input file stream(輸入檔案流)”。在前一節的程式中,出現的則是ofstream,它的意義是“output file stream(輸出檔案流)”。前一節的程式是進行檔案的寫操作,這就是它用“output(輸出)”來表示的原因。而本節的程式則是讀取一個檔案,這就是它用“input(輸入)”來表示的原因。這一行剩下的程式碼於你而言應當是熟悉的了:OpenFile是ifstream類的一個,它將關聯一個輸入檔案流;而用引號括住的內容,就是將要開啟的檔案的名稱。
請注意:這裡沒有對要開啟的檔案是否存在進行測試!以後我將向你指出如何進行檢測。
char ch; —— 宣告一個字元陣列(array of type char)。只是有一點要提醒你:這樣的陣列(arrays)只能一個ASCII字元。
while(!OpenFile.eof()) —— 如果已經到達檔案末尾,eof( )將返回一個非零值。因此我們所設計的這個迴圈將一直持續,直至我們的檔案操作到達檔案末尾。這樣我們就可以遍歷整個檔案,以便對它進行讀取。
OpenFile.get(ch); —— OpenFile是類ifstream的一個物件。該類宣告瞭一個名為get( )的成員函式。只要我們擁有該物件,我們自然就可以這個函式。get( )函式從相應的流檔案中讀出一個字元,並將其返回給變數。在本例中,get( )函式只帶一個引數——用於儲存所讀取的字元的變數。所以,呼叫OpenFile.get(ch)後程式將會從OpenFile流中讀取一個字元並存入變數ch中。
注意:如果你再次呼叫該函式,它將讀取下一個字元,而不是原來的那一個!你過後將理解為什麼會這樣。
這就是我們要不斷反覆迴圈直至讀操作到達檔案尾的原因。每迴圈一次,我們將讀出一個字元並將它儲存在ch中。
cout <
File.close(); —— 我們開啟了一個流式檔案,就需要關閉它。使用close()函式即可將它關閉,這和前一節的一樣!
注意:一旦你關閉了一個檔案,在你重新開啟它之前,你不能再對它進行訪問。
大功告成了!我希望你能明白我的解釋。當你編譯並執行這個程式的時候,它應當會輸出:
“Hello World, from and Loobian!”
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-982160/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C++中的檔案輸入/輸出(3):掌握輸入/輸出流 (轉)C++
- C++中的檔案輸入/輸出(5):二進位制檔案的處理 (轉)C++
- C++中的檔案輸入/輸出(4):檢測輸入/輸出的狀態標誌 (轉)C++
- 【C++】標準檔案的輸入輸出!!!C++
- C++中的檔案輸入/輸出(1):你的第一個程式 (轉)C++
- 排序,檔案輸入輸出排序
- 檔案操作-輸入輸出
- C++ 中輸入輸出流及檔案流操作筆記C++筆記
- C輸入輸出與檔案
- python:檔案的輸入與輸出Python
- java_檔案輸入與輸出Java
- Java讀取本地檔案內容並輸出Java
- 第10章 對檔案的輸入輸出
- 瞭解下C# 檔案的輸入與輸出C#
- Linux 下的檔案管理&管理系統中的輸出輸入Linux
- 使用Java NIO 和 NIO2實現檔案輸入/輸出Java
- Python進階02 文字檔案的輸入輸出Python
- 檔案輸入輸出處理(二)-位元組流
- 第13周-閱讀專案1-標準輸入輸出物件及文字檔案物件
- MySQL輸出html格式檔案MySqlHTML
- Django靜態檔案輸出Django
- Webpack原理-輸出檔案分析Web
- 文字檔案輸入步驟
- python讀取兩個excel資料檔案輸出整理好以後的excel資料檔案PythonExcel
- Python 快速教程(進階篇02):文字檔案的輸入輸出Python
- Python的configparser模組讀取.ini檔案內容並輸出Python
- Yii2 輸出檔案下載響應
- 分治法求眾數和重數(含檔案輸入輸出)
- 笨辦法學C 練習24:輸入輸出和檔案
- 第13周-專案1-小玩檔案-用鍵盤輸入檔名,統計輸出檔案中每個字母、數字字元出現的次數字元
- Java輸出流在txt檔案中的換行控制Java
- 讀取檔案流並寫入檔案流
- 大檔案如何傳輸,大檔案的傳輸方式有哪些?
- PowerShell輸出內容到檔案
- Linux下輸出excel檔案LinuxExcel
- 如何將終端輸出的資訊重定向寫入檔案中呢?
- 第九章:輸入/輸出流與檔案操作 習題
- 什麼是極速檔案傳輸,極速檔案傳輸如何進行大檔案傳輸