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, и данный поток остаётся неизменным.
[править] Смотрите также
ставит символ обратно в поток файла Оригинал: puts a character back into a file stream Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) | |
получает широкий символ из файлового потока (функция) | |
Документация C по ungetwc
|