putchar
, putwchar
Zapisuje znak na stdout
.
Składnia
int putchar(
int c
);
wint_t putwchar(
wchar_t c
);
Parametry
c
Znak do zapisania.
Wartość zwracana
Zwraca zapisany znak. Aby wskazać błąd lub warunek końca pliku, putc
i putchar
zwrócić EOF
wartość ; putwc
i putwchar
zwrócić WEOF
wartość . W przypadku wszystkich czterech procedur użyj polecenia ferror
lub feof
, aby sprawdzić błąd lub koniec pliku. Jeśli przekazano wskaźnik o wartości null dla stream
parametru , te funkcje generują nieprawidłowy wyjątek parametru, zgodnie z opisem w temacie Walidacja parametru. Jeśli wykonywanie jest dozwolone do kontynuowania, zwracają EOF
lub , i ustawiają wartość EINVAL
errno
WEOF
.
Aby uzyskać więcej informacji na temat kodów zwracanych, zobacz errno
, _doserrno
, _sys_errlist
i _sys_nerr
.
Uwagi
Rutyna putc
zapisuje pojedynczy znak c
w danych wyjściowych stream
w bieżącym położeniu. Dowolna liczba całkowita może być przekazywana do putc
metody , ale zapisywane są tylko dolne 8 bitów. Ta rutyna jest identyczna putchar
z procedurą putc( c, stdout )
. W przypadku każdej procedury, jeśli wystąpi błąd odczytu, zostanie ustawiony wskaźnik błędu dla strumienia. putc
i putchar
są podobne odpowiednio do fputc
i _fputchar
, ale są implementowane zarówno jako funkcje, jak i jako makra (zobacz Zalecenia dotyczące wybierania między funkcjami i makrami). putwc
i putwchar
są odpowiednio wersjami putc
znaków i putchar
.
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 zdefiniowany |
_UNICODE zdefiniowany |
---|---|---|---|
_puttchar |
putchar |
putchar |
putwchar |
Wymagania
Procedura | Wymagany nagłówek |
---|---|
putchar |
<stdio.h> |
putwchar |
<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.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;
for( p = buffer; (ch != EOF) && (*p != '\0'); p++ )
ch = putchar( *p );
}
Wynik
This is the line of output