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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 排序,檔案輸入輸出排序
- python:檔案的輸入與輸出Python
- Java讀取本地檔案內容並輸出Java
- 第10章 對檔案的輸入輸出
- Linux 下的檔案管理&管理系統中的輸出輸入Linux
- 瞭解下C# 檔案的輸入與輸出C#
- 使用Java NIO 和 NIO2實現檔案輸入/輸出Java
- 檔案輸入輸出處理(二)-位元組流
- Python的configparser模組讀取.ini檔案內容並輸出Python
- python讀取兩個excel資料檔案輸出整理好以後的excel資料檔案PythonExcel
- MySQL輸出html格式檔案MySqlHTML
- Yii2 輸出檔案下載響應
- 讀取檔案流並寫入檔案流
- 分治法求眾數和重數(含檔案輸入輸出)
- 大檔案如何傳輸,大檔案的傳輸方式有哪些?
- matlab輸出複數到檔案Matlab
- C++檔案操作實戰:建立、寫入、讀取、修改檔案一應俱全C++
- 什麼是極速檔案傳輸,極速檔案傳輸如何進行大檔案傳輸
- 檔案傳輸協議的五種安全檔案傳輸替代方案協議
- 第九章:輸入/輸出流與檔案操作 習題
- Linux 檔案傳輸Linux
- sftp 傳輸檔案FTP
- scp 傳輸檔案
- C/C++讀取SEGY檔案(三)C++
- 什麼是檔案傳輸,介紹檔案傳輸的發展程式
- 如何快速傳輸大檔案:4 種大檔案傳輸有效的方法
- matlab輸出資料為excel檔案MatlabExcel
- csv檔案的寫入和讀取
- Golang專案中讀取配置檔案Golang
- 【C++】輸入輸出C++
- 檔案輸入和輸入出處理(六)-序列化和反序列化
- linux 將程式終端輸出儲存到檔案中且保留終端輸出Linux
- 如何將終端輸出的資訊重定向寫入檔案中呢?
- 讀取檔案,每行不超過100個字元,輸出每行中字母最多的單詞的字母數字元
- java中讀取配置檔案Java
- 【多檔案自平衡雲傳輸】使用展示 —— 檔案傳輸系統
- kettle‘獲取檔名’輸出
- 如何把檔案輸出流替換成位元組輸出流
- 用Pandas讀寫Excel檔案-輸出單sheet和多sheetExcel