Spec-Zone.ru › C++

std::ungetwc

Определено в заголовочном файле <cwchar>
std::wint_t ungetwc( std::wint_t ch, std::FILE* stream );

Если ch не равно WEOF, помещает широкий символ ch в буфер ввода, связанный с потоком stream, таким образом, чтобы последующая операция чтения из stream извлекла этот широкий символ. Внешнее устройство, связанное с потоком, не изменяется.

Операции изменения позиции потока std::fseek, std::fsetpos, и std::rewind отбрасывают результаты std::ungetwc.

Если std::ungetwc вызывается более одного раза без промежуточного чтения или изменения позиции, это может завершиться неудачей (другими словами, гарантируется буфер для отката размером 1, но любой больший буфер определяется реализацией). Если были выполнены несколько успешных операций std::ungetwc , операции чтения извлекают помещенные широкие символы в обратном порядке выполнения std::ungetwc.

Если ch равно WEOF, операция завершается неудачей, и поток не изменяется.

Успешное вызов std::ungetwc очищает флаг конца файла feof.

Успешное вызов std::ungetwc для потока (текстового или двоичного) изменяет указатель позиции потока непредсказуемым образом, но гарантирует, что после извлечения всех помещенных широких символов с помощью операции чтения, указатель позиции потока равен его значению до вызова std::ungetwc.

Параметры

ch - широкий символ, который необходимо поместить обратно
stream - поток файла, в который необходимо поместить широкий символ обратно

Значение возврата

При успехе возвращается ch.

При неудаче возвращается WEOF и данный поток остается без изменений.

См. также

ungetc
помещает символ обратно в поток файла
(функция)
fgetwcgetwc
получает широкий символ из потока файла
(функция)
Документация C для ungetwc

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/c/ungetwc

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API