_fgetchar
, _fgetwchar
Lit un caractère dans stdin
.
Syntaxe
int _fgetchar( void );
wint_t _fgetwchar( void );
Valeur retournée
_fgetchar retourne le caractère lu sous la forme d’une int
erreur ou d’une fin EOF
de fichier. _fgetwchar renvoie, sous la forme d’un wint_t
caractère large qui correspond au caractère lu ou retourné WEOF
pour indiquer une erreur ou une fin de fichier. Pour les deux fonctions, utilisez feof
ou ferror
pour faire la distinction entre une erreur et une condition de fin de fichier.
Notes
Ces fonctions lisent un caractère dans stdin
. Ensuite, la fonction incrémente le pointeur de fichier associé (si défini) pour désigner le caractère suivant. Si le flux est à la fin du fichier, l’indicateur de fin de fichier pour le flux est défini.
_fgetchar
est équivalent à fgetc( stdin )
. Elle équivaut également à getchar
, mais implémentée uniquement en tant que fonction, plutôt qu’en tant que fonction et macro. _fgetwchar
est la version à caractères larges de _fgetchar
.
Ces fonctions ne sont pas compatibles avec la norme ANSI.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Mappages de routines de texte générique
Routine Tchar.h | _UNICODE et _MBCS non définis |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_fgettchar |
_fgetchar |
_fgetchar |
_fgetwchar |
Spécifications
Fonction | En-tête requis |
---|---|
_fgetchar |
<stdio.h> |
_fgetwchar |
<stdio.h> ou <wchar.h> |
La console n’est pas prise en charge dans les applications de la plateforme Windows universelle (UWP). Les handles de flux standard associés à la console (stdin
, stdout
et stderr
) doivent être redirigés pour que les fonctions de runtime C puissent les utiliser dans des applications UWP. Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
// 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.