ungetwc
Определено в заголовке <wchar.h> |
||
|---|---|---|
wint_t ungetwc( wint_t ch, FILE *stream ); |
(с C95) |
Если ch не равно WEOF, помещает широкий символ ch в буфер ввода, связанный с потоком stream, таким образом, чтобы последующая операция чтения из stream извлекала этот широкий символ. Внешнее устройство, связанное с потоком, не изменяется.
Операции перепозиционирования потока fseek, fsetpos, и rewind игнорируют последствия ungetwc.
Если ungetwc вызывается более одного раза без промежуточного чтения или перепозиционирования, это может завершиться неудачей (другими словами, гарантируется буфер отката размером 1, но любой больший буфер определен реализацией). Если были выполнены несколько успешных операций ungetwc , операции чтения извлекают помещённые широкие символы в обратном порядке их ungetwc.
Если ch равно WEOF, операция завершается неудачей, и поток не изменяется.
Успешное вызов ungetwc очищает флаг конца файла feof.
Успешное вызов ungetwc для потока (будь то текстовый или двоичный) изменяет указатель позиции потока непредсказуемым образом, но гарантирует, что после извлечения всех помещенных широких символов операцией чтения, указатель позиции потока равен его значению до ungetwc.
Параметры
| ch | - | широкий символ, который нужно вернуть |
| stream | - | поток файла, в который нужно вернуть широкий символ |
Возвращаемое значение
При успехе возвращается ch.
При неудаче возвращается WEOF и заданный поток остается неизменным.
Ссылки
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.29.3.10 Функция ungetwc (стр. 425-426)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.24.3.10 Функция ungetwc (стр. 370-371)
См. также
| возвращает символ в поток файла (функция) |
|
|
(C95) |
получает широкий символ из потока файла (функция) |
Документация C++ для ungetwc |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/io/ungetwc