将数字从数组中的文件放在行中
Putting numbers in line from file in array
我有数字文件。
3
2 15 41
4 1 2 3 4
3 22 11 24
第一行显示其他行的存在方式(最多 100 行)。行中的数字不能超过 50。
行中的数字需要放入数组中,如下所示:
line[lineNum][num]
我是C++新手,我要求以最简单的方式做到这一点。我尝试做:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
int kiek;
string str[100][50];
string line;
int a = 0;
int b = 0;
ifstream failas("Duom1.txt");
if (failas.is_open())
{
while (failas)
{
if (a == 29)
{
a = 0;
b++;
}
getline(failas, str[a][b], ' ');
}
a++;
}
cout << str[0][0] << endl;
}
逐行读取文件,然后自行解析每一行。
if (failas.is_open())
{
// read first line
string num_lines;
std::getline(failas, num_lines);
// read lines
for (int i = 0; std::getline(failas, line); ++i)
{
// parse line and insert into array
std::istringstream is(line);
string number;
for (int j = 0; is >> number; ++j)
str[i][j] = number;
}
}
不过,更好的方法是使用 std::vector
而不是数组:
std::vector<std::vector<int> > all_nums;
...
// read first line
string num_lines;
std::getline(failas, num_lines);
// read lines
while (std::getline(failas, line)) {
// parse line and insert into vector
std::istringstream is(line);
int number;
std::vector<int> line_nums;
while (is >> number)
line_nums.push_back(number);
// add line to vector
all_nums.push_back(line_nums);
}
相关文章:
- 如何将内容数组写入文本文件?
- C++将文本文件中的数据读取到结构数组中
- 将值从二维数组输出到文本文件
- C++数据文件、数组和计算赋值
- 如何拆分文件中.txt字母并使用c ++使用数组进行扑克?
- 如何在 C++ 中从文件中读取字符数组(带有一些空格)
- 如何从txt文件中读取多个不同长度的数组?
- 保存/加载大量短数组到二进制文件
- 从二进制文件中读取整数数组
- 如何在 C++ 中将文件中的逗号分隔数字读取到数组中?
- C++ 使用存储在动态数组中的文本文件中的数据查找模式
- C++编程从外部文本文件定义数组大小
- 使用矢量将文本文件中的输入存储到 2D 数组中
- 如何将文本文件的特定行读取到 int 类型的数组中C++?
- 使用 stbi_write_png,如何将 0 和 1 的矩形字节数组转换为单色 png 文件?
- 将系数存储在头文件的数组中("does not name a type"错误)
- 在C++中使用变量而不是"#define"来指定数组大小是不是一种糟糕的做法?(C错误:在文件范围内
- 从文件读取,并写入函数C++中的数组
- 如何使用QJSONARRAY在QT5(C )中解析JSON文件(数组)
- 从文件/数组C++聚合数据