現在人工輸入的方式已經落伍,在今日海量資料之下,我們想要迅速分析資料,第一個關鍵步驟就是讀取檔案 (Read File)。恰好我遇到需要讀檔,才發現之前沒有寫在部落格中,以致我還要去翻過去寫的code,才想起原來讀檔那麼簡單!
讀檔其實有幾種方法,在這裡我用一次讀取一行的技巧來讀取檔案裡的資料。我準備一個檔案叫做:HappyMan.txt,裡頭有這些字元~
廣告
接下來就是非常簡單的讀檔程式:
廣告
/** Theme: Read File Compiler: Dev C++ 4.9.9.2 Date: 101/04/15 Author: HappyMan Blog: https://cg2010studio.wordpress.com/ */ #include<iostream> #include<fstream> using namespace std; #define SIZE 100 char line[SIZE]; int main(){ fstream fin; fin.open("HappyMan.txt",ios::in); while(fin.getline(line,sizeof(line),'\n')){ cout<<line<<endl; } system("pause"); return 0; }
輸出結果:
廣告
重點在這一行:
- fin.getline(line,sizeof(line),’\n’)
若你將‘\n’該為‘ ‘,也就是中斷點原本行結束字元,變成空白字元,結果會變成:
再將其改為‘\t’,是所謂的tab鍵(tabulator 製表符),結果如下:
觀察三者輸出差異,再對照我檔案裡的資料圖,可以發現day!前面是tab字元喔!
廣告
要注意的是,無論是否遇到getline第三個參數那個字元,此函式會以一行作為處理對象,就如同它的函式名稱一樣,於是如果確定讀取一整行,那麼第三個參數可以省去不寫。
廣告
Comments on: "[C++] 讀取檔案 (Read File)" (4)
[…] 程式中的讀檔部分,我是抄過去的文章C++讀取檔案 (Read File),才幾行code又能完成讀檔任務,接著就是列印出來。 […]
讚讚
[…] 先前介紹讀取檔案 (Read File),是以一行一行逐步讀取,現在我們想要一次讀取整個檔案為字串,再來做其它處理,這樣可以怎麼實作呢? […]
讚讚
目前須讀取不同檔名.txt中的特定某行數據資料,以利研究
請問~可以嗎?
例如:
1 150 32
2 8 99
3 22 11
.
15 10 20
.
.
欲讀取固定15行中的數據
有程式碼更好
謝謝!
讚讚
請問如果我想要把讀進來的檔案(中文字)一字一字輸入一個陣列中,要加什麼呢?
讚讚