-3

我有一个以下列方式包含多行和多列的文本文件。

 234 567 890 4523
 12  34  
 78  23  432

我想将它们读入一个数组,例如a[0][0] = 234, whilea[1][0] = 12等等。我可以使用 将它们全部放入一维中input >> a[i],但我希望将它们放在二维数组中。我尝试使用getline(),但到目前为止还没有成功。

4

1 回答 1

2

你可以使用std::vector.std::vector

对于每一行,读入每个数字并使用push_back将其复制到相关向量(数组)的末尾。

您可以使用std::istringstream.

std::string正如您所指出的,您可以通过使用将一行输入读入 a std::getline


在伪代码中它就像

void foo()
{
    std::vector< std::vector< int > > numbers;
    std::string line;
    while( getline( cin, line ) )
    {
        std::istringstream stream( line );
        numbers.push_back( std::vector<int>() );
        std::vector<int>& v = numbers.back();
        int number;
        while( stream >> number )
        {
            v.push_back( number );
        }
    }
}

免责声明:编译器未触及代码,并且省略了所有错误检查等。

于 2013-02-21T01:47:07.157 回答