[英]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.