fgets
, fgetws
Obtiennent une chaîne à partir d’un flux.
Syntaxe
char *fgets(
char *str,
int numChars,
FILE *stream
);
wchar_t *fgetws(
wchar_t *str,
int numChars,
FILE *stream
);
Paramètres
str
Emplacement de stockage des données.
numChars
Nombre maximal de caractères à lire.
stream
Pointeur vers la structure FILE
.
Valeur retournée
Chacune de ces fonctions retourne str
. NULL
est retourné pour indiquer une erreur ou une condition de fin de fichier. Utilisez feof
ou ferror
pour déterminer si une erreur s’est produite. Si str
un stream
pointeur null ou numChars
est inférieur ou égal à zéro, cette fonction appelle 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, errno
a la valeur EINVAL
et la fonction retourne NULL
.
Pour plus d’informations sur les codes de retour, consultez , , _sys_errlist
_doserrno
et _sys_nerr
.errno
Notes
La fonction fgets
lit une chaîne à partir de l’argument stream
d’entrée et la stocke dans str
. fgets
lit les caractères de la position actuelle du flux vers et y compris le premier caractère de ligne, à la fin du flux, ou jusqu’à ce que le nombre de caractères lus soit égal à numChars
- 1, selon le premier. Le résultat stocké dans str
est assorti d’un caractère null. Le caractère de saut de ligne, s’il est lu, est inclus dans la chaîne.
fgetws
est une version à caractères larges de fgets
.
fgetws
lit l’argument str
de caractère large sous la forme d’une chaîne de caractères multioctets ou sous la forme d’une chaîne à caractères larges lorsqu’elle stream
est ouverte en mode texte ou en mode binaire, respectivement. Pour plus d’informations sur l’utilisation de modes texte et binaire dans les E/S de flux Unicode et multioctets, consultez E/S de fichier de texte et de mode binaire et 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 |
---|---|---|---|
_fgetts |
fgets |
fgets |
fgetws |
Spécifications
Fonction | En-tête requis |
---|---|
fgets |
<stdio.h> |
fgetws |
<stdio.h> ou <wchar.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
// 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.txt
Line one.
Line two.
Sortie
Line one.