ungetcのC++バージョンはありますか?
つまり、キャラクターをistreamに戻すことはできますか?
はい。istream :: putbackは、 unget()を使用する場合を除いて、ungetcと同じです。
unget()で嘘をつくことはできません。最後に読み取った文字を「アンゲット」します。putback(c)で嘘をつくことができます。最後に読み取った文字以外の文字を「元に戻す」ことができます。最後に読み取った文字以外の文字を元に戻すと便利な場合があります。
また、基になる読み取りバッファに実際にバッファリング機能がある場合は、複数の文字を「プットバック」できます。ungetc()は1文字に制限されていると思います。
istream::putback関数を使用して文字を元に戻すことができます。必要に応じて、別のキャラクターを配置することもできます。