繁体   English   中英

在C ++中从.txt文件读取到二维数组

[英]Reading from .txt file into two dimensional array in c++

因此,或者我是一个完全的白痴,这直面我,但我似乎无法在Google或这里找到我能理解的任何资源。

我有一个文本文件,其中包含几行整数,每个整数都用空格隔开,我想将这些整数读入数组,其中每一行都是该数组的第一维,该行上的每个整数保存到第二维。

抱歉,可能使用了最差的术语来解释。

我的文本文件看起来像这样:

100 200 300 400 500
101 202 303 404 505
111 222 333 444 555

我希望结果数组是这样的:

int myArray[3][5] = {{100, 200, 300, 400, 500},
                     {101, 202, 303, 404, 505},
                     {111, 222, 333, 444, 555}};

我相信

istream inputStream;
int myArray[3][5];
for(int i = 0; i < 3; i++)
    for(int j = 0; j < 5; j++)
        istream >> myArray[i][j];

应该做你需要的。

在您的情况下,您可以执行以下操作:

ifstream file { "file.txt" };
if (!file.is_open()) return -1;

int my_array [3][5]{};
for (int i{}; i != 3; ++i) {
    for (int j{}; j != 5; ++j) {
        file >> my_array[i][j];
    }
}

更好的方法是使用std::vector

vector<int> my_array;
int num { 0 };
while (file >> num)
    my_array.emplace_back(num);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM