0

次のようなファイルがあります。

98
287 2352
987 4313 3253
235 34325 432 123

基本的にはこのファイルを再現したい。一度に 1 行ずつインポートし、数値を抽出してベクターにプッシュしようとしています。各ベクトルは、より大きなベクトルにプッシュされます。

int main(int argc, char* argv[])
{
    int sum = 0, one = 0, two = 1;
    std::string line, number;
    std::vector<int> vec;
    std::vector<std::vector<int>> bigvec;
    auto k = vec.begin();
    std::ifstream in(argv[1]);
    while(in >> line) {
        std::istringstream is(line);
        while(is >> number) {
            vec.push_back(stoi(number));
        }
        bigvec.push_back(vec);
        while(!vec.empty()) {
            vec.pop_back();
        }
        std::cout << std::endl;
    }
    return 0;
}

ただし、私のコードは、結果を印刷すると、ファイルを再現するのではなく、各数値を独自のベクトルに入れるようです。

だから私の出力は

98
287
2352
etc.

ラインのようです

while(is >> number) {
    vec.push_back(stoi(number));
}

1 つの数値をプッシュしてから、ループを終了します。

どこが間違っていますか?

4

2 に答える 2