Partager via


_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_tcaractè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.

Voir aussi

E/S de flux
fputc, fputwc
getc, getwc