_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.