私はforループを繰り返しているシンプルなJSON文字列を持っています(どうしてjsonパーサーを使用していないのか聞かないでください)。私は{
を追い出すたい。このループでは 、}
と「」 (見当違いの
}
は、その理由をデバッグするためだけの存在である) ここではコードです:forループで文字列を無視する
std::string str("{'pi': 3.141, 'happy': }true }");
for (int i = 0; i < str.length(); i++)
{
char temp = str[i];
if (temp == '{' || temp == '}' || temp == ' ')
str.erase(i, 1);
}
非常に複雑で、それは基本的にだけで正常に動作しません何らかの理由で}
がスキップされます。それは、たとえそこにいなくても、文字列を反復するだけです。誰でもこの動作を再現できますか?私はここで間違っているかもしれないアイデアから完全に外れています。
はEDIT:文字列
文字列内の文字数が同じである場合にのみforループを使用できます。しかし、文字列を反復しながら文字を削除しています。 –
文字列からいくつかの文字列が削除され、文字列のサイズが変更され、現在の(削除された)要素の次の要素だけでなく、その隣にインデックスが配置されます – zapredelom