_putc_nolock, _putwc_nolock

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

Syntaxe

int _putc_nolock(
   int c,
   FILE *stream
);
wint_t _putwc_nolock(
   wchar_t c,
   FILE *stream
);

Parametry

c
Znak, který se má napsat.

stream
Ukazatel na FILE strukturu.

Vrácená hodnota

Podívejte se na putc, putwc.

Poznámky

_putc_nolock a _putwc_nolock jsou identické s verzemi bez _nolock přípony 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.

_putwc_nolock je širokoznačná verze _putc_nolock; dvě funkce se chovají stejně, pokud je datový proud otevřen v režimu ANSI. _putc_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ý
_puttc_nolock _putc_nolock _putc_nolock _putwc_nolock

Požadavky

Rutina Požadovaný hlavičkový soubor
_putc_nolock <stdio.h>
_putwc_nolock <stdio.h> nebo <wchar.h>

Konzola není podporována v aplikacích pro Univerzální platforma Windows (UPW). Standardní zpracování datových proudů, které jsou přidružené ke konzole , a , stderrmusí být přesměrovány před tím, stdinstdoutnež je funkce runtime jazyka C mohou používat v aplikacích pro UPW. Další informace o kompatibilitě najdete v tématu Kompatibilita.

Knihovny

Všechny verze knihoven runtime jazyka C.

Příklad

// crt_putc_nolock.c
/* This program uses putc to write buffer
* to a stream. If an error occurs, the program
* stops before writing the entire buffer.
*/

#include <stdio.h>

int main( void )
{
   FILE *stream;
   char *p, buffer[] = "This is the line of output\n";
   int  ch;

   ch = 0;
   /* Make standard out the stream and write to it. */
   stream = stdout;
   for( p = buffer; (ch != EOF) && (*p != '\0'); p++ )
      ch = _putc_nolock( *p, stream );
}

Výstup

This is the line of output

Viz také

Vstupně-výstupní operace streamu
fputc, fputwc
getc, getwc