[討論] 檔案讀進二維陣列 (vector) 的寫法
剛寫了一個讀檔程式
input.txt 如下
1 2 3
2 3 4 5
3 4
5 -6 7 8
想要存成一個 vector< vector< int > >
我想到的寫法是這樣
#include<iostream>
#include<fstream>
#include<sstream>
#include<string>
#include<vector>
using namespace std;
int main(){
ifstream fin( "input.txt" );
vector< vector< int > > datas; //2 維陣列
int tmp; //暫存
istringstream iline; //一行的資料流
string line; //一行的資料
while( getline( fin, line ) ){
datas.push_back( vector<int>() );
iline.str( line );
while( iline >> tmp ){
datas.rbegin()->push_back( tmp );
}
iline.clear();
}
//資料存進 datas 二維陣列中了
//印出資料
int i, j;
for( i=0 ; i<datas.size() ; ++i ){
for( j=0 ; j<datas[i].size() ; ++j ){
cout << datas[i][j] << " ";
}
cout << endl;
}
fin.close();
return 0;
}
我用了 sstream 才處理掉
是還沒出動 algorithm 標頭啦
想要討論一下有沒有其他寫法
以上
by Aider
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 182.235.46.73
→
01/08 18:06, , 1F
01/08 18:06, 1F
→
01/08 18:08, , 2F
01/08 18:08, 2F
→
01/08 18:08, , 3F
01/08 18:08, 3F
→
01/08 20:20, , 4F
01/08 20:20, 4F
→
01/08 20:21, , 5F
01/08 20:21, 5F
→
01/08 20:21, , 6F
01/08 20:21, 6F
→
01/08 20:47, , 7F
01/08 20:47, 7F
→
01/08 20:48, , 8F
01/08 20:48, 8F
→
01/09 00:34, , 9F
01/09 00:34, 9F
※ 編輯: WJAider 來自: 182.235.46.73 (01/09 00:34)
→
01/09 11:33, , 10F
01/09 11:33, 10F
→
01/09 11:33, , 11F
01/09 11:33, 11F
→
01/09 12:35, , 12F
01/09 12:35, 12F
→
01/09 18:26, , 13F
01/09 18:26, 13F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章