У меня есть код синтаксического анализа, который позволяет вводить escape-последовательности в строку текста:
// In a file or large, multi-line string ...
my_parameter="A setting for the parameter\nthat contains \"escape sequence\" characters"
Когда я анализирую его, я обрабатываю обратную косую черту и добавляю соответствующий символ в строку, которую я создаю, используя экземпляр std::ostringstream. Перевод строки, кавычки, обратная косая черта и тому подобное работают нормально. Тем не менее, я обдумывал, разрешать ли последовательность \b, и пошел посмотреть, смогу ли я «удалить» последний символ из моего ostringstream, как вы можете «удалить» из любого std::istream. Можешь ли ты сделать такое? Если функция не существует, есть ли простой способ отодвинуть позицию записи назад на один символ и просто перезаписать ее следующим символом?
Это не критично для миссии или что-то в этом роде, но мне было любопытно, сталкивался ли кто-нибудь еще с этим раньше.