我的文件有数字和单词,所有结尾都是-1 我将如何将其放入数组中 例如;
所以在file.dat
我有它像
6 5 yo moma 5 6 -1
9 sup chicken 2 5 -1
...
我希望将第一行放入一个数组,将秒行放入另一个数组,依此类推 所以像这样
array_1[]
6 5 mo mo 5 5 6
array_2[]
会有 9 sup chicken 2 5
等等
那我该如何做呢。
答案 0 :(得分:2)
由于输入文件包含数字和单词的混合,因此您需要std::vector<std::vector<std::string> >
来存储它们。
#include <fstream>
#include <string>
#include <vector>
std::ifstream infile("file.dat");
std::vector<std::vector<std::string> > result;
int lineCount = 0;
std::string line;
while (std::getline(infile, line))
{
int current i = 0;
// "line.size() - 3" because all data lines end with " -1"
for (int j = 0; j < line.size() - 3; ++j)
{
if (line[j] == ' ')
{
result[lineCount].push_back(line.substr(i, j - i));
i = j + 1;
}
}
++lineCount;
}