fgetc, fgetwc
Lesen Sie ein Zeichen von einem Stream.
int fgetc(
FILE *stream
);
wint_t fgetwc(
FILE *stream
);
Parameter
- stream
Zeiger zur FILE-Struktur.
Rückgabewert
fgetc gibt das Zeichen zurück, das als int gelesen wird oder gibt EOF, um einen Fehler anzugeben oder Dateiende zurück. fgetwc gibt, als wint_t, dem Breitzeichen zurück, das auf Zeichen gelesen oder WEOF zurückgibt, um einen Fehler anzugeben oder Dateiende entspricht. Verwenden Sie für beide Funktionen feof oder ferror, um zwischen einem Fehler und einer Dateiendebedingung zu unterscheiden. Wenn ein Lesefehler auftritt, wird der Fehler für den Stream festgelegt. Wenn streamNULL ist, rufen fgetc und fgetwc den ungültigen Parameterhandler auf, wie in Parametervalidierung beschrieben. Wenn die weitere Ausführung zugelassen wird, stellen diese Funktionen errno auf EINVAL ein und geben EOF zurück.
Hinweise
Jede dieser Funktionen liest ein einzelnes Zeichen von der aktuellen Position der Datei, die stream zugeordnet ist. Die Funktion erhöht dann den zugeordneten Dateizeiger (sofern definiert), um auf das nächste Zeichen zu zeigen. Wenn der Stream am Dateiende ist, wird der Dateiende-Indikator für den Stream festgelegt.
fgetc entspricht getc, jedoch wird nur als Funktion, sondern als Funktion und Makro implementiert.
fgetwc ist die Breitzeichen-Version von fgetc; c liest sie als Mehrbytezeichen oder Breitzeichen, ob stream im Textmodus oder im Binärdateimodus geöffnet ist.
Die Versionen mit dem _nolock-Suffix sind identisch, allerdings sind sie nicht vor Störungen durch andere Threads geschützt.
Weitere Informationen über die Verarbeitung von Breitzeichen und von Mehrbytezeichen in den Text- und Binärdateimodi, finden Sie unter Unicode-Stream E/A in den Text Binärdatei-Modi.
Zuordnung generischer Textroutinen
TCHAR.H-Routine |
_UNICODE & _MBCS nicht definiert |
_MBCS definiert |
_UNICODE definiert |
---|---|---|---|
_fgettc |
fgetc |
fgetc |
fgetwc |
Anforderungen
Funktion |
Erforderlicher Header |
---|---|
fgetc |
<stdio.h> |
fgetwc |
<stdio.h> oder <wchar.h> |
Zusätzliche Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.
Beispiel
// crt_fgetc.c
// This program uses getc to read the first
// 80 input characters (or until the end of input)
// and place them into a string named buffer.
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
FILE *stream;
char buffer[81];
int i, ch;
// Open file to read line from:
fopen_s( &stream, "crt_fgetc.txt", "r" );
if( stream == NULL )
exit( 0 );
// Read in first 80 characters and place them in "buffer":
ch = fgetc( stream );
for( i=0; (i < 80 ) && ( feof( stream ) == 0 ); i++ )
{
buffer[i] = (char)ch;
ch = fgetc( stream );
}
// Add null to end string
buffer[i] = '\0';
printf( "%s\n", buffer );
fclose( stream );
}
Eingabe: crt_fgetc.txt
Line one.
Line two.
Ausgabe
Line one.
Line two.