我有一个包含两列和未知行数的文本文件。所以我想将两列加载到动态二维向量中。这是我到目前为止所做的,它不起作用。如果这是一维的,我知道如何做到这一点。白色空格分隔两列。由于我正在阅读2列,我只需要2个大小为n的向量。
vector<vector<string> > component;
ifstream in_file("/tmp/FW.txt", ios::binary);
//Check if the file is open
if(!in_file.is_open())
{
cout << "File not opened..." << endl;
exit (1);
}
for(int i=0; !in_file.eof(); i++)
{
in_file >> component.push_back();
//component.push_back(in_file);
}
有人可以告诉我如何让它发挥作用吗?另外如果你能告诉我如何打印二维矢量,那么它看起来像原始文件,那也很好。这需要在Linux(Red Hat)上运行
答案 0 :(得分:2)
怎么样:
vector< vector<string> > component;
ifstream in_file("/tmp/FW.txt"); // N.B., not ios::binary since you're reading text strings
vector<string> vs( 2 );
// Assume they are separated by just whitespace
while( in_file >> vs[0] >> vs[1] )
{
component.push_back( vs );
}