Partage via


fgetc, fgetwc

Lisent un caractère d’un flux.

Syntaxe

int fgetc(
   FILE *stream
);
wint_t fgetwc(
   FILE *stream
);

Paramètres

stream
Pointeur vers la structure FILE .

Valeur retournée

fgetc retourne le caractère lu en tant que int ou retourne EOF pour indiquer une erreur ou la fin du fichier. fgetwc 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. Si une erreur de lecture se produit, l’indicateur d’erreur pour le flux est défini. Si stream c’est NULLle fgetc cas, et fgetwc appelez le gestionnaire de paramètres non valide, comme décrit dans la validation des paramètres. Si l'exécution est autorisée à se poursuivre, ces fonctions attribuent à errno la valeur EINVAL et retournent EOF.

Notes

Chacune de ces fonctions lit un caractère à partir de la position actuelle du fichier associé à stream. 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.

fgetc est équivalente à getc, mais est implémentée uniquement comme une fonction, plutôt que comme une fonction et une macro.

fgetwcest la version à caractères larges de fgetc; elle lit c sous la forme d’un caractère multioctet ou d’un caractère large lorsqu’elle stream est ouverte en mode texte ou en mode binaire, respectivement.

Les versions avec le suffixe _nolock sont identiques, à ceci près qu’elles ne sont pas protégées contre les interférences par d’autres threads.

Pour plus d’informations sur le traitement des caractères larges et des caractères multioctets dans les modes texte et binaire, consultez les E/S de flux Unicode dans les modes texte et binaire.

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
_fgettc fgetc fgetc fgetwc

Spécifications

Fonction En-tête requis
fgetc <stdio.h>
fgetwc <stdio.h> ou <wchar.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Exemple

// 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 );
}

Entrée : crt_fgetc.txt

Line one.
Line two.

Sortie

Line one.
Line two.

Voir aussi

E/S de flux
fputc, fputwc
getc, getwc