0

我有一个包含两列和未知行数的文本文件。所以我想将两列加载到动态二维向量中。这是我到目前为止所拥有的,它不起作用。如果这是一维的,我知道该怎么做。空格分隔两列。由于我正在阅读 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) 上运行

4

1 回答 1

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 );
}
于 2012-04-13T20:23:29.427 回答