例如:檔案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...