putc
, putwc
Zapíše znak do datového proudu.
Syntaxe
int putc(
int c,
FILE *stream
);
wint_t putwc(
wchar_t c,
FILE *stream
);
Parametry
c
Znak, který se má napsat.
stream
Ukazatel na FILE
strukturu.
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
, je vyvolána neplatná obslužná rutina parametru, jak je popsáno v ověření parametru. Pokud je provádění povoleno pokračovat, tyto funkce vrátí EOF
nebo a nastaví na errno
EINVAL
.WEOF
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í. putwc
a putc
chovejte se stejně, pokud je datový proud otevřen v režimu ANSI. putc
v současné době nepodporuje výstup do datového proudu UNICODE.
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. Další informace najdete v tématu _putc_nolock _putwc_nolock.
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 |
putc |
putc |
putwc |
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
putc |
<stdio.h> |
putwc |
<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_putc.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( *p, stream );
}
Výstup
This is the line of output