putc
, putwc
Schreibt ein Zeichen in einen Stream.
Syntax
int putc(
int c,
FILE *stream
);
wint_t putwc(
wchar_t c,
FILE *stream
);
Parameter
c
Zu schreibende Zeichen.
stream
Zeiger zur FILE
-Struktur.
Rückgabewert
Gibt das geschriebene Zeichen zurück. Um einen Fehler oder eine End-of-File-Bedingung anzugeben, putc
und zurückgeben ; putchar
und putwchar
zurückgeben putwc
EOF
WEOF
. Verwenden Oder feof
überprüfen Sie ferror
für alle vier Routinen einen Fehler oder ein Dateiende. Wenn ein NULL-Zeiger übergeben stream
wird, wird der ungültige Parameterhandler aufgerufen, wie in der Parameterüberprüfung beschrieben. Wenn die Ausführung fortgesetzt werden darf, werden diese Funktionen zurückgegeben EOF
oder festgelegt und auf EINVAL
errno
WEOF
.
Weitere Informationen zu Rückgabecodes finden Sie unter , , _doserrno
, _sys_errlist
und _sys_nerr
.errno
Hinweise
Die putc
-Routine schreibt das einzelne Zeichen c
in die aktuelle Position der stream
-Ausgabe. Jede beliebige ganze Zahl kann an putc
übergeben werden, aber es werden nur die unteren 8 Bits geschrieben. Die putchar
Routine ist identisch mit putc( c, stdout )
. Wenn ein Lesefehler auftritt, wird für jede Routine die Fehleranzeige für den Stream festgelegt. putc
und putchar
ähneln fputc
bzw _fputchar
. werden sowohl als Funktionen als auch als Makros implementiert (siehe Empfehlungen für die Auswahl zwischen Funktionen und Makros). putwc
und putwchar
sind jeweils Breitzeichenversionen von putc
und putchar
. putwc
und putc
verhalten sich identisch, wenn der Stream in ANSI-Modus geöffnet ist. putc
unterstützt derzeit die Ausgabe in einen UNICODE-Stream nicht.
Die Versionen mit dem Suffix _nolock
sind identisch, allerdings sind sie nicht vor Störungen durch andere Threads geschützt. Weitere Informationen finden Sie unter _putc_nolock, _putwc_nolock.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Mapping generischer Textroutinen
TCHAR.H-Routine | _UNICODE und _MBCS nicht definiert |
_MBCS definiert |
_UNICODE definiert |
---|---|---|---|
_puttc |
putc |
putc |
putwc |
Anforderungen
Routine | Erforderlicher Header |
---|---|
putc |
<stdio.h> |
putwc |
<stdio.h> oder <wchar.h> |
Die Konsole wird in UWP-Apps (Universelle Windows-Plattform) nicht unterstützt. Die mit der Konsole verknüpften Standardstreamhandles stdin
, stdout
und stderr
müssen umgeleitet werden, bevor sie von C-Laufzeitfunktionen in UWP-Apps verwendet werden können. Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Libraries
Alle Versionen der C-Laufzeitbibliotheken.
Beispiel
// 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 );
}
Output
This is the line of output