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 routine de texte générique

Routine Tchar.h _UNICODE et _MBCS non défini _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 plateforme Windows universelle (UWP). Les handles de flux standard associés à la consolestdin doivent stdoutstderrêtre redirigés avant que les fonctions d’exécution C puissent les utiliser dans les 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