从每个行的文件中获取此信息的最佳方法是什么?
文本文件如下所示
1 E
1 P
1 C
2 E a
5 E P C
所以我需要从第1行(1 E)获取信息,将1放入变量,然后将E放入另一个变量。对于其余的行也一样,但是有些元素有不同的元素,我不明白该怎么做。
答案 0 :(得分:1)
你可能需要一个矢量矢量。
std::vector<std::vector<std::string> > info;
内部向量包含一行中的每个单词
外部向量包含每一行。
读取文件中的每一行,标记该行,将每个标记添加到内部向量,将单词的向量添加到每行的向量
听起来像是一个家庭作业问题,所以我不会发布显示如何读取文件或标记字符串的代码
答案 1 :(得分:1)
快速/肮脏的解决方案。
#include <fstream>
#include <vector>
#include <string>
#include <sstream>
int main()
{
using namespace std;
typedef pair<size_t, vector<string> > infoPair;
typedef vector<infoPair > infoVector;
ifstream inputFile("test.txt");
size_t lineNumber = 1;
infoVector info;
string line;
while(getline(inputFile, line))
{
stringstream extractor(line);
vector<string> symbols;
string symbol;
while(extractor >> symbol)
{
symbols.push_back(symbol);
}
info.push_back(infoPair(lineNumber, symbols));
lineNumber++;
}
return 0;
}
答案 2 :(得分:0)
您可以使用filestream >> intvariable;
读取行尾的整数。然后,您可以使用getline
将该行的其余部分读入字符串,然后将其拆分为数组或执行其他任何操作。关于你究竟想做什么,你并不是很具体。