Итак, у меня есть простая строка JSON, которую я повторяю с помощью цикла for (не спрашивайте, почему я не использую парсер json). В этом цикле я хочу выкинуть {
, }
и ''
(the misplaced
}
просто для отладки) Вот код:
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);
}
Не очень сложно, и в основном работает нормально, но по какой-то причине }
пропускается. Он просто перебирает строку, как будто ее там и не было. Может ли кто-нибудь воспроизвести это поведение? У меня совершенно нет идей, что здесь может быть не так.
РЕДАКТИРОВАТЬ: Хорошо, я вижу, как это может быть дубликатом другого сообщения, но, честно говоря, трудно наткнуться на сообщение о векторах, когда возникают проблемы со строкой.