可能重复:
在 C/C++ 中解析配置文件
我有一个 C++ 文本文件,看起来像这样:
[layer]
type=background
data=
1,1,1,1,1,1,11,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,11,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,11,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,11,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,11,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,11,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,11,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,11,1,1,1,1,1,1,1,1,1,1,1,1,1,
但是,我在同一个文本文件中有多个图层,并且每个图层都必须以不同的方式构建,但是我需要为每个图层获取“data =”中显示的值。
我将如何做到这一点?我尝试过的一种方法是将它们存储到向量中,但是在将所有内容存储在向量中之后,我没有想到从向量中提取这些值的解决方案......
while(file >> line)
{
words.push_back(line);
}
if(find(words.begin(), words.end(), "[header]") != words.end())
{
for(int i = find(words.begin(), words.end(), "[header]"); words.at(i) != "\n"; i++)
{
word += words.at[i];
}
}
cout << word << endl;
file.close();