_putc_nolock, _putwc_nolock

Zapisuje znak w strumieniu bez blokowania.

Składnia

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

Parametry

c
Znak do zapisania.

stream
Wskaźnik do FILE struktury.

Wartość zwracana

Zobacz putc, putwc.

Uwagi

_putc_nolock i _putwc_nolock są identyczne z wersjami bez sufiksu _nolock , z tą różnicą, że nie są one 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.

_putwc_nolock jest wersją _putc_nolocko szerokim znaku ; obie funkcje zachowują się identycznie, jeśli strumień jest otwarty w trybie ANSI. _putc_nolock obecnie nie obsługuje danych wyjściowych do strumienia UNICODE.

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
_puttc_nolock _putc_nolock _putc_nolock _putwc_nolock

Wymagania

Procedura Wymagany nagłówek
_putc_nolock <stdio.h>
_putwc_nolock <stdio.h> lub <wchar.h>

Konsola nie jest obsługiwana w aplikacjach platformy platforma uniwersalna systemu Windows (UWP). Standardowe dojścia strumienia skojarzone z konsolą programu stdin, stdouti i stderrmuszą zostać przekierowane, zanim funkcje czasu wykonywania języka C będą mogły ich używać w aplikacjach platformy UWP. Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Biblioteki

Wszystkie wersje bibliotek czasu wykonywania języka C.

Przykład

// 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 );
}

Wynik

This is the line of output

Zobacz też

We/Wy strumienia
fputc, fputwc
getc, getwc