Udostępnij za pośrednictwem


_ungetc_nolock, _ungetwc_nolock

Wypycha znak z powrotem do strumienia bez blokowania.

Składnia

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

Parametry

c
Znak do wypchnięcia.

stream
Wskaźnik do FILE struktury.

Wartość zwracana

W przypadku powodzenia każda z tych funkcji zwraca argument cznaku . Jeśli c nie można odepchnąć lub jeśli żaden znak nie został odczytany, strumień wejściowy jest niezmieniony i _ungetc_nolock zwraca wartość ; _ungetwc_nolock zwraca wartość EOFWEOF. Jeśli stream wartość to NULL, EOF lub WEOF jest zwracana, i errno jest ustawiona na EINVALwartość .

Aby uzyskać informacje na temat tych i innych kodów błędów, zobacz errno, _doserrno, _sys_errlisti _sys_nerr.

Uwagi

Te funkcje to wersje nieblokujące i ungetcungetwc. Wersje z sufiksem _nolock są identyczne, z tą różnicą, że nie są chronione przed ingerencją innych wątków. Mogą one być szybsze, ponieważ nie powodują obciążenia związanego z blokowaniem innych wątków. Używaj tych funkcji tylko w kontekstach bezpiecznych wątkowo, takich jak aplikacje jednowątkowe lub gdzie zakres wywołujący obsługuje już izolację wątków.

Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.

Mapowania procedur tekstu ogólnego

Procedura TCHAR.H _UNICODE i _MBCS niezdefiniowane _MBCS Zdefiniowane _UNICODE Zdefiniowane
_ungettc_nolock _ungetc_nolock _ungetc_nolock _ungetwc_nolock

Wymagania

Procedura Wymagany nagłówek
_ungetc_nolock <stdio.h>
_ungetwc_nolock <stdio.h> lub <wchar.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Zobacz też

We/Wy strumienia
getc, getwc
putc, putwc