_ungetc_nolock, _ungetwc_nolock

Efetuar push em um caractere de volta para o fluxo sem bloqueio.

Sintaxe

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

Parâmetros

c
O caractere a ser enviado.

stream
Ponteiro para a estrutura FILE.

Valor retornado

Se tiver sucesso, cada uma dessas funções retornará o argumento do caractere c. Se não for possível efetuar push de c ou se nenhum caractere for lido, o fluxo de entrada não será alterado e _ungetc_nolock retornará EOF; _ungetwc_nolock retornará WEOF. Se stream for NULL, EOF ou WEOF será retornado e errno será definido como EINVAL.

Para obter informações sobre esses e outros códigos de erro, confira errno, _doserrno, _sys_errlist e _sys_nerr.

Comentários

Essas funções são versões sem bloqueio de ungetc e ungetwc. As versões com o sufixo _nolock são idênticas, exceto pelo fato de não serem protegidas contra interferência de outros threads. Elas pode ser mais rápidas, pois não incorrem na sobrecarga de bloquear outros threads. Use estas funções apenas em contextos thread-safe, como aplicativos de thread único ou em que o escopo de chamada já trata do isolamento de threads.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.

Mapeamentos de rotina de texto genérico

Rotina TCHAR.H _UNICODE e _MBCS não definidos _MBCS definido _UNICODE definido
_ungettc_nolock _ungetc_nolock _ungetc_nolock _ungetwc_nolock

Requisitos

Rotina Cabeçalho necessário
_ungetc_nolock <stdio.h>
_ungetwc_nolock <stdio.h> ou <wchar.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Confira também

E/S de fluxo
getc, getwc
putc, putwc