fgets, fgetwsfgets, fgetws

Obtiennent une chaîne à partir d’un flux.Get a string from a stream.

SyntaxeSyntax

char *fgets(
   char *str,
   int numChars,
   FILE *stream
);
wchar_t *fgetws(
   wchar_t *str,
   int numChars,
   FILE *stream
);

ParamètresParameters

strstr
Emplacement de stockage des données.Storage location for data.

numCharsnumChars
Nombre maximal de caractères à lire.Maximum number of characters to read.

streamstream
Pointeur désignant la structure FILE.Pointer to FILE structure.

Valeur de retourReturn Value

Chacune de ces fonctions retourne Str.Each of these functions returns str. La valeur null est retournée pour indiquer une erreur ou une condition de fin de fichier.NULL is returned to indicate an error or an end-of-file condition. Utilisez feof ou le pour déterminer si une erreur s’est produite.Use feof or ferror to determine whether an error occurred. Si Str ou Stream est un pointeur null, si numChars est inférieur ou égal à zéro, cette fonction appelle le gestionnaire de paramètre non valide, comme décrit dans validation de paramètre.If str or stream is a null pointer, or numChars is less than or equal to zero, this function invokes the invalid parameter handler, as described in Parameter Validation. Si l’exécution est autorisée à se poursuivre, errno a la valeur EINVAL et la fonction retourne la valeur null.If execution is allowed to continue, errno is set to EINVAL and the function returns NULL.

Pour plus d’informations sur ces codes d’erreur et les autres, consultez _doserrno, errno, _sys_errlist et _sys_nerr.See _doserrno, errno, _sys_errlist, and _sys_nerr for more information on these, and other, error codes.

NotesRemarks

La fonction fgets lit une chaîne à partir de l’argument de flux d’entrée et la stocke dans Str.The fgets function reads a string from the input stream argument and stores it in str. fgets lit les caractères à partir de la position actuelle du flux vers et y compris le premier caractère de saut de ligne, jusqu’à la fin du flux, ou jusqu’à ce que le nombre de caractères lus soit égal à numChars -1, selon ce qui se produit en premier.fgets reads characters from the current stream position to and including the first newline character, to the end of the stream, or until the number of characters read is equal to numChars - 1, whichever comes first. Le résultat stocké dans Str est ajouté avec un caractère null.The result stored in str is appended with a null character. Le caractère de saut de ligne, s’il est lu, est inclus dans la chaîne.The newline character, if read, is included in the string.

fgetws est une version à caractères larges de fgets.fgetws is a wide-character version of fgets.

fgetws lit l’argument à caractères larges Str comme une chaîne de caractères multioctets ou une chaîne à caractères larges selon que le flux est ouvert en mode texte ou binaire, respectivement.fgetws reads the wide-character argument str as a multibyte-character string or a wide-character string according to whether stream is opened in text mode or binary mode, respectively. Pour plus d’informations sur l’utilisation des modes texte et binaire dans les E/S de flux Unicode et multioctets, consultez E/S de fichier en mode texte et binaire et E/S de flux Unicode en modes texte et binaire.For more information about using text and binary modes in Unicode and multibyte stream-I/O, see Text and Binary Mode File I/O and Unicode Stream I/O in Text and Binary Modes.

Mappages de routines de texte génériqueGeneric-Text Routine Mappings

Routine TCHAR.HTCHAR.H routine _UNICODE et _MBCS non définis_UNICODE & _MBCS not defined _MBCS défini_MBCS defined _UNICODE défini_UNICODE defined
_fgetts_fgetts fgetsfgets fgetsfgets fgetwsfgetws

Configuration requiseRequirements

FonctionFunction En-tête requisRequired header
fgetsfgets <stdio.h><stdio.h>
fgetwsfgetws <stdio.h> ou <wchar.h><stdio.h> or <wchar.h>

Pour plus d'informations sur la compatibilité, voir Compatibilité.For additional compatibility information, see Compatibility.

ExempleExample

// crt_fgets.c
// This program uses fgets to display
// the first line from a file.

#include <stdio.h>

int main( void )
{
   FILE *stream;
   char line[100];

   if( fopen_s( &stream, "crt_fgets.txt", "r" ) == 0 )
   {
      if( fgets( line, 100, stream ) == NULL)
         printf( "fgets error\numChars" );
      else
         printf( "%s", line);
      fclose( stream );
   }
}

Entrée : crt_fgets.txtInput: crt_fgets.txt

Line one.
Line two.

SortieOutput

Line one.

Voir aussiSee also

E/S de fluxStream I/O
fputs, fputwsfputs, fputws
gets, _getwsgets, _getws
puts, _putwsputs, _putws