putchar
, putwchar
Zapíše znak do stdout
.
Syntaxe
int putchar(
int c
);
wint_t putwchar(
wchar_t c
);
Parametry
c
Znak, který se má napsat.
Vrácená hodnota
Vrátí znak napsaný. Chcete-li označit chybu nebo podmínku ukončení souboru, putc
a putchar
vrátit EOF
putwc
; a putwchar
vrátit WEOF
. Pro všechny čtyři rutiny použijte ferror
nebo feof
zkontrolujte chybu nebo konec souboru. Pokud byl předán ukazatel null pro stream
, tyto funkce generují neplatnou výjimku parametru, jak je popsáno v ověření parametru. Pokud je spuštění povoleno pokračovat, vrátí EOF
nebo WEOF
a nastaví errno
na EINVAL
.
Další informace o návratových kódech naleznete v tématu errno
, _doserrno
, _sys_errlist
a _sys_nerr
.
Poznámky
Rutina putc
zapíše jeden znak c
do výstupu stream
na aktuální pozici. Jakékoli celé číslo lze předat putc
, ale pouze nižší 8 bitů jsou zapsány. Rutina putchar
je shodná s putc( c, stdout )
. Pokud dojde k chybě čtení, nastaví se pro každou rutinu indikátor chyby datového proudu. putc
a putchar
jsou podobné fputc
a _fputchar
v uvedeném pořadí, ale jsou implementovány jak jako funkce, tak jako makra (viz Doporučení pro výběr mezi funkcemi a makry). putwc
a putwchar
jsou široce znakové verze putc
a putchar
v uvedeném pořadí.
Verze s příponou _nolock
jsou shodné 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í další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.
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ý |
---|---|---|---|
_puttchar |
putchar |
putchar |
putwchar |
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
putchar |
<stdio.h> |
putwchar |
<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 , stderr
musí být přesměrovány před tím, stdin
stdout
než 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_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 );
}
Výstup
This is the line of output