fgetc
, fgetwc
Liest ein Zeichen aus einem Stream.
Syntax
int fgetc(
FILE *stream
);
wint_t fgetwc(
FILE *stream
);
Parameter
stream
Zeiger zur FILE
-Struktur.
Rückgabewert
fgetc
gibt das gelesene Zeichen als int
zurück oder gibt EOF
zurück, um einen Fehler oder ein Dateiende anzugeben. fgetwc
gibt als ein wint_t
breites Zeichen zurück, das dem Lese- oder WEOF
Rückgabezeichen des Zeichens entspricht, um einen Fehler oder ein Ende der Datei anzugeben. Verwenden Sie für beide Funktionen feof
oder ferror
, um zwischen einem Fehler und einer Dateiendebedingung zu unterscheiden. Wenn ein Lesefehler auftritt, wird der Fehlerindikator für den Stream festgelegt. Ist stream
das NULL
fgetc
der Parameter, und fgetwc
rufen Sie den ungültigen Parameterhandler auf, wie in der Parameterüberprüfung 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 aus der aktuellen Position der stream
zugeordneten Datei. 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
, wird jedoch ausschließlich als Funktion, und nicht als Funktion und Makro implementiert.
fgetwc
ist die Breitzeichenversion von fgetc
; sie liest c als Multibyte-Zeichen oder ein breites Zeichen, wenn stream
sie im Textmodus oder binärmodus geöffnet wird.
Die Versionen mit dem _nolock
Suffix sind identisch, mit der Ausnahme, dass sie nicht vor Störungen durch andere Threads geschützt sind.
Weitere Informationen zum Verarbeiten von breiten Zeichen und Multibytezeichen in Text- und Binärmodi finden Sie unter Unicode-Datenstrom-E/A in Text- und Binärmodi.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Informationen zum Ändern dieses Verhaltens finden Sie im Global state in the CRT.
Generische Textroutinzuordnungen
TCHAR.H-Routine | _UNICODE und _MBCS nicht definiert |
_MBCS Definiert |
_UNICODE Definiert |
---|---|---|---|
_fgettc |
fgetc |
fgetc |
fgetwc |
Anforderungen
Funktion | Erforderlicher Header |
---|---|
fgetc |
<stdio.h> |
fgetwc |
<stdio.h> oder <wchar.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
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.
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für