Sdílet prostřednictvím


_fputc_nolock, _fputwc_nolock

Zapíše znak do datového proudu bez uzamčení.

Syntaxe

int _fputc_nolock(
   int c,
   FILE *stream
);
wint_t _fputwc_nolock(
   wchar_t c,
   FILE *stream
);

Parametry

c
Znak, který se má napsat.

stream
Ukazatel na FILE strukturu.

Vrácená hodnota

Každá z těchto funkcí vrátí znak napsaný. Informace o chybě naleznete v tématu fputc, fputwc.

Poznámky

_fputc_nolock a _fputwc_nolock jsou identické s fputc jinými fputwcvlákny, s tím rozdílem, že nejsou chráněny před rušením jinými vlákny. Můžou být rychlejší, protože neúčtují režijní náklady na uzamčení jiných vláken. Tyto funkce používejte pouze v kontextech bezpečných pro přístup z více vláken, jako jsou aplikace s jedním vláknem, nebo v případě, že volající obor již zpracovává izolaci vláken.

Dvě funkce se chovají stejně, pokud je datový proud otevřen v režimu ANSI. _fputc_nolock v současné době nepodporuje výstup do datového proudu UNICODE.

Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.

Mapování rutin obecného textu

Rutina Tchar.h _UNICODE a _MBCS není definován _MBCS definovaný _UNICODE definovaný
_fputtc_nolock _fputc_nolock _fputc_nolock _fputwc_nolock

Požadavky

Function Požadovaný hlavičkový soubor
_fputc_nolock <stdio.h>
_fputwc_nolock <stdio.h> nebo <wchar.h>

Konzola není podporována v aplikacích pro Univerzální platforma Windows (UPW). Standardní stream zpracovává, které jsou přidružené ke konzole –stdinstdout a stderr– musí být přesměrovány, aby je funkce běhu jazyka C mohly používat v aplikacích pro UPW. Další informace o kompatibilitě najdete v tématu Kompatibilita.

Příklad

// crt_fputc_nolock.c
// This program uses _fputc_nolock
// to send a character array to stdout.

#include <stdio.h>

int main( void )
{
   char strptr1[] = "This is a test of _fputc_nolock!!\n";
   char *p;

   // Print line to stream using fputc.
   p = strptr1;
   while( (*p != '\0') && _fputc_nolock( *(p++), stdout ) != EOF ) ;

}
This is a test of _fputc_nolock!!

Viz také

Vstupně-výstupní operace streamu
fgetc, fgetwc
putc, putwc