我是一个非常新手的程序员,我遇到了一些问题。我需要加载一个2D数组,其中的数据存储在一个文本文件中。文本文件如下所示(两个数字,然后是行的结尾。即1 1949,然后是下一行):
1 1949
2 1972
1983年
4 1959
1987年
1991年
1995年
1991年
9 1957
1980年
11 1995年
12 1995年
应该以相同的方式格式化数组。当然不是在寻找答案,而是朝着正确的方向努力。我一直在寻找无济于事。谢谢。
答案 0 :(得分:0)
这里我使用pair<int, int>
来存储每一行;如果您有C ++ 11,则可以使用array<int, 2>
代替。其余的是样板,读数和分裂线。
#include <cassert>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
using namespace std;
int main(int argc, char* argv[])
{
assert(argc == 2);
ifstream input(argv[1]);
assert(input);
vector<pair<int, int> > data;
for (string line; getline(input, line); )
{
istringstream stream(line);
data.resize(data.size() + 1);
stream >> data.back().first >> data.back().second;
}
}