Поделиться через


_ungetc_nolock, _ungetwc_nolock

Отправляет символ обратно в поток без блокировки.

Синтаксис

int _ungetc_nolock(
   int c,
   FILE *stream
);
wint_t _ungetwc_nolock(
   wint_t c,
   FILE *stream
);

Параметры

c
Символ, который требуется поместить обратно.

stream
Указатель на структуру FILE .

Возвращаемое значение

При успешном выполнении каждая из этих функций возвращает аргумент cсимвола. Если c не удается отправить назад или если символ не был прочитан, входной поток не изменяется и _ungetc_nolock возвращается; _ungetwc_nolock возвращаетсяEOFWEOF. Значение WEOF>, если stream значение NULLравно или EOF возвращается, и errno задано значение .EINVAL>.

Дополнительные сведения об этих и других кодах ошибок см. в разделе errno, _doserrno_sys_errlistи _sys_nerr.

Замечания

Эти функции представляют собой неблокирующие версии функций ungetc и ungetwc. Версии с суффиксом _nolock идентичны, за исключением того, что они не защищены от вмешательства другими потоками. Они могут быть быстрее, так как они не влечет за собой затраты на блокировку других потоков. Используйте эти функции только в потокобезопасных контекстах, например в однопоточных приложениях или если вызываемая область уже обрабатывает изоляцию потоков.

По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.

Сопоставления подпрограмм универсального текста

Подпрограмма TCHAR.H _UNICODE и _MBCS не определен _MBCS Определенные _UNICODE Определенные
_ungettc_nolock _ungetc_nolock _ungetc_nolock _ungetwc_nolock

Требования

Маршрут Обязательный заголовок
_ungetc_nolock <stdio.h>
_ungetwc_nolock <stdio.h> или <wchar.h>

Дополнительные сведения о совместимости см. в разделе Совместимость.

См. также

Потоковый ввод-вывод
getc, getwc
putc, putwc