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/cpp/io/c/ungetwc

Spec-Zone.ru

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