_fgetchar
, _fgetwchar
Liest ein Zeichen aus stdin
.
Syntax
int _fgetchar( void );
wint_t _fgetwchar( void );
Rückgabewert
_fgetchar gibt das als oder zurückgelesene EOF
Zeichen int
zurück, um einen Fehler oder ein Ende der Datei anzugeben. _fgetwchar gibt als ein wint_t
breites Zeichen zurück, das dem Lesezeichen entspricht, oder gibt WEOF
zurück, 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.
Hinweise
Diese Funktionen lesen ein einzelnes Zeichen aus stdin
. 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.
_fgetchar
entspricht fgetc( stdin )
. Es ist auch gleichbedeutend mit getchar
, aber nur als Funktion und nicht als Funktion und makro implementiert. _fgetwchar
ist die Breitzeichenversion von _fgetchar
.
Diese Funktionen sind nicht mit dem ANSI-Standard kompatibel.
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 |
---|---|---|---|
_fgettchar |
_fgetchar |
_fgetchar |
_fgetwchar |
Anforderungen
Funktion | Erforderlicher Header |
---|---|
_fgetchar |
<stdio.h> |
_fgetwchar |
<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-Runtimefunktionen in UWP-Apps verwendet werden können. Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
// crt_fgetchar.c
// This program uses _fgetchar 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 )
{
char buffer[81];
int i, ch;
// Read in first 80 characters and place them in "buffer":
ch = _fgetchar();
for( i=0; (i < 80 ) && ( feof( stdin ) == 0 ); i++ )
{
buffer[i] = (char)ch;
ch = _fgetchar();
}
// Add null to end string
buffer[i] = '\0';
printf( "%s\n", buffer );
}
Line one.
Line two.Line one.
Line two.