Mam kod analizujący, który pozwala na wprowadzenie sekwencji ucieczki do ciągu tekstowego:
// In a file or large, multi-line string ...
my_parameter="A setting for the parameter\nthat contains \"escape sequence\" characters"
Kiedy go analizuję, obsługuję ukośniki odwrotne i dodaję odpowiedni znak do ciągu, który buduję, używając instancji std::ostringstream
. Przesuwy wierszy, cudzysłowy, ukośniki odwrotne i tym podobne działają dobrze. Jednakże zastanawiałem się, czy zezwolić na sekwencję \b
, czy nie, i zacząłem sprawdzać, czy mogę „usunąć” ostatni znak z mojego ostringstream
, tak jak można „usunąć” z dowolnego std::istream
. Czy potrafisz zrobić coś takiego? Jeśli funkcja nie istnieje, czy istnieje prosty sposób na cofnięcie pozycji zapisu o jeden znak i po prostu nadpisanie jej przez następny znak?
Nie jest to kwestia krytyczna dla misji ani nic w tym stylu, ale byłem ciekawy, czy ktoś inny spotkał się z tym wcześniej.