如何将2D数组转换为Vector

时间:2017-07-17 00:03:29

标签: c++ arrays for-loop vector fstream

  
renderContent = () => {}

这是我的代码:

OutputCache(NoStore = true, Duration = 1, VaryByParam = "")

我的代码运行良好,但我想将2d数组转换为vector。虽然通过数组读取文件具有固定的大小,因此向量是解决此问题的良好解决方案。

1 个答案:

答案 0 :(得分:0)

鉴于您的文件结构,您可以将行读入临时向量,然后将其插入向量向量中:

#include <iostream>
#include <fstream>
#include <vector>
int main(){
    std::ifstream myfile("Tickets.txt");
    std::vector<int> temprow(2);
    std::vector<std::vector<int>> matrix{};
    int rowcount = 0;
    while (myfile >> temprow[0] >> temprow[1]){
        matrix.push_back(temprow);
        rowcount++;
    }
    for (int i = 0; i < rowcount; i++){
        for (int j = 0; j < 2; j++){
            std::cout << matrix[i][j] << ' ';
        }
        std::cout << std::endl;
    }
}

这假设你的2D数组是N * 2.