_putchar_nolock
, _putwchar_nolock
Zapisuje znak bez stdout
blokowania.
Składnia
int _putchar_nolock(
int c
);
wint_t _putwchar_nolock(
wchar_t c
);
Parametry
c
Znak do zapisania.
Wartość zwracana
Zobacz putchar, putwchar.
Uwagi
putchar_nolock
i _putwchar_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.
Mapowania procedur tekstu ogólnego
Procedura tchar.h | _UNICODE i _MBCS niezdefiniowane |
_MBCS zdefiniowany |
_UNICODE zdefiniowany |
---|---|---|---|
_puttchar_nolock |
_putchar_nolock |
_putchar_nolock |
_putwchar_nolock |
Wymagania
Procedura | Wymagany nagłówek |
---|---|
_putchar_nolock |
<stdio.h> |
_putwchar_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
, stdout
i i stderr
muszą 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_putchar_nolock.c
/* This program uses putchar to write buffer
* to stdout. 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;
for( p = buffer; (ch != EOF) && (*p != '\0'); p++ )
ch = _putchar_nolock( *p );
}
Wynik
This is the line of output