C fstream和getline的用法

2021-05-21 21:28:04 字數 965 閱讀 6016

例如:檔案data.txt內容

1 輕 無 疼 燒 輕

2 輕 無 疼 正常 輕

通過c++ fstream和getline的方法將資訊讀到乙個二維陣列string data

方法一:(適用於已知行數和列數,且要求以空格或製表符間隔)

#include

#include

using namespace std;

void main()

方法二:(未知行數和列數 且 分割符不限於 空格)

#include

#include

#include

using namespace std;

typedef vector> vvs;

void main()

}infile.close();  //關閉文字檔案

row ++; col++;  //讀檔案得到的行列數均加1才是真正的行列數(注意:檔案最後沒有空白行)

vvs data; // 定義二維字串陣列

data.resize(row);

for(k = 0; k < row; k ++)

data[k].resize(col);

ifstream infile2("data.txt");

int trow, tcol;

trow = tcol = 0;

string str;

while(trow < row)//迴圈比較,以行數作為限制

getline(infile2,str,'/n');  //將回車符作為物件進行資料輸入,以判斷一行是否結束

data[trow][tcol] = str;   //將回車符前面的資料讀入到相應的字串陣列中

tcol = 0;      //列數賦值為1,準備下一行的判斷

trow ++;      //行數+1

}infile2.close();

}

getlin與get的區別

getlin a,len 與get a,len 都是讀取一串字串,遇到回車即停 但是getlin會跳過回車,下一次讀取的時候直接從輸入佇列中跳過回車,讀取下乙個字元 而get不會跳過回車,而是把回車留在輸入佇列中,下一次讀取的時候依然會讀取到回車,所以很多時候用乙個get 把回車讀到,接著讀取下乙個...

C fstream和檔案開啟模式

我們之前使用的ifstream可以建立乙個輸入程式的物件,ofstream可以建立乙個輸出程式的物件。而fstream可以建立既能輸入又能輸出的檔案物件。也就是說,如果我們有乙個物件既要進行輸入,又要進行輸出,那麼fstream物件是很方便的。fstream物件在建立時必須指定檔案模式。詳細的檔案模...

C fstream 文字輸入輸出 用法詳解

在c 中,有乙個stream這個類,所有的i o都以這個 流 類為基礎的,包括我們要認識的檔案i o,stream這個類有兩個重要的運算子 1 插入器 向流輸出資料。比如說系統有乙個預設的標準輸出流 cout 一般情況下就是指的顯示器,所以,cout write stdout 就表示把字串 writ...