vfscanf, vfwscanf

 

Pour obtenir la dernière documentation sur Visual Studio 2017 RC, consultez Documentation Visual Studio 2017 RC.

Lit les données mises en forme à partir d'un flux. Des versions plus sécurisées de ces fonctions sont disponibles ; consultez vfscanf_s, vfwscanf_s.

int vfscanf(   
   FILE *stream,  
   const char *format,  
   va_list argptr   
);  
int vfwscanf(   
   FILE *stream,  
   const wchar_t *format,  
   va_list argptr   
);  

Paramètres

stream
Pointeur vers la structure FILE.

format
Chaîne de contrôle de format.

arglist
Liste d'arguments variable.

Chacune de ces fonctions retourne le nombre de champs qui sont correctement convertis et assignés ; la valeur de retour n'inclut pas les champs qui sont lus mais non assignés. La valeur de retour 0 indique qu'aucun champ n'a été assigné. Si une erreur se produit, ou si la fin du flux de fichiers est atteinte avant la première conversion, la valeur de retour est EOF pour vfscanf et vfwscanf.

Ces fonctions valident leurs paramètres. Si stream ou format est un pointeur null, le gestionnaire de paramètres non valides est appelé, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, ces fonctions retournent EOF et définissent errno avec la valeur EINVAL.

La fonction vfscanf lit les données à partir de la position actuelle de stream dans les emplacements fournis par la liste d'arguments arglist. Chaque argument de la liste doit être un pointeur vers une variable dont le type correspond à un spécificateur de type dans format. format contrôle l'interprétation des champs d'entrée et a le même formulaire et la même fonction que l'argument format pour scanf ; consultez scanf pour une description de format.

vfwscanf est une version à caractères larges de vfscanf ; l'argument de format de vfwscanf est une chaîne à caractères larges. Ces fonctions se comportent de la même façon si le flux est ouvert en mode ANSI. vfscanf ne prend pas en charge la saisie à partir d'un flux d'UNICODE.

Mappages de routines de texte générique

Routine TCHAR.H_UNICODE & _MBCS non définis_MBCS défini_UNICODE défini
_vftscanfvfscanfvfscanfvfwscanf

Pour plus d'informations, consultez Champs de spécification de format : fonctions scanf et wscanf.

FonctionEn-tête requis
vfscanf<stdio.h>
vfwscanf<stdio.h> ou <wchar.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité.

// crt_vfscanf.c  
// compile with: /W3  
// This program writes formatted  
// data to a file. It then uses vfscanf to  
// read the various data back from the file.  
  
#include <stdio.h>  
#include <stdarg.h>  
  
FILE *stream;  
  
int call_vfscanf(FILE * istream, char * format, ...)  
{  
    int result;  
    va_list arglist;  
    va_start(arglist, format);  
    result = vfscanf(istream, format, arglist);  
    va_end(arglist);  
    return result;  
}  
  
int main(void)  
{  
    long l;  
    float fp;  
    char s[81];  
    char c;  
  
    if (fopen_s(&stream, "vfscanf.out", "w+") != 0)  
    {  
        printf("The file vfscanf.out was not opened\n");  
    }  
    else  
    {  
        fprintf(stream, "%s %ld %f%c", "a-string",  
            65000, 3.14159, 'x');  
        // Security caution!  
        // Beware loading data from a file without confirming its size,  
        // as it may lead to a buffer overrun situation.  
  
        // Set pointer to beginning of file:  
        fseek(stream, 0L, SEEK_SET);  
  
        // Read data back from file:  
        call_vfscanf(stream, "%s %ld %f%c", s, &l, &fp, &c);  
  
        // Output data read:   
        printf("%s\n", s);  
        printf("%ld\n", l);  
        printf("%f\n", fp);  
        printf("%c\n", c);  
  
        fclose(stream);  
    }  
}  
  

a-string
65000
3.141590
x

System::IO::StreamReader::ReadLine. Voir également des méthodes Parse, telles que System::Double::Parse.

E/S de flux
_cscanf, _cscanf_l, _cwscanf, _cwscanf_l
fprintf, _fprintf_l, fwprintf, _fwprintf_l
scanf, _scanf_l, wscanf, _wscanf_l
sscanf, _sscanf_l, swscanf, _swscanf_l
fscanf_s, _fscanf_s_l, fwscanf_s, _fwscanf_s_l
vfscanf_s, vfwscanf_s

Afficher: