XML ファイルの行を含む文字列を解析しようとしています。
std::string temp = "<Album>Underclass Hero</Album>";
int f = temp.find(">");
int l = temp.find("</");
std::string _line = temp.substr(f + 1, l-2);
これは、解析された文字列を実際に返す関数のコードの一部です。私が期待したのは、それがUnderclass Heroを返すことでした。代わりに、Underclass Hero< /Alb
を取得しまし
た (ここでは、'<' と '/' の間にスペースを入れています。これらを一緒に書くことができなかったからです)。
私は std::string::find を数回調べましたが、存在する場合は最初の一致の最初の文字の位置を返すと常に言いました。ここでは、文字列の最後の文字が得られますが、変数lのみです。
fは問題ありません。
誰が私が間違っているのか教えてもらえますか?