重複の可能性:
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();