_snscanf, _snscanf_l, _snwscanf, _snwscanf_l

 

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

Lit les données d’une longueur spécifiée à partir d’une chaîne au format. Des versions plus sécurisées de ces fonctions sont disponibles. consultez la page _snscanf_s, _snscanf_s_l, _snwscanf_s, _snwscanf_s_l.

int __cdecl _snscanf(  
   const char * input,  
   size_t length,  
   const char * format,  
   ...  
);  
int __cdecl _snscanf_l(  
   const char * input,  
   size_t length,  
   const char * format,  
   locale_t locale,  
   ...  
);  
int __cdecl _snwscanf(  
   const wchar_t * input,  
   size_t length,  
   const wchar_t * format,  
   ...  
);  
int __cdecl _snwscanf_l(  
   const wchar_t * input,  
   size_t length,  
   const wchar_t * format,  
   locale_t locale,  
   ...  
);  

Paramètres

input
Chaîne d’entrée à examiner.

length
Nombre de caractères à examiner dans input.

format
Un ou plusieurs spécificateurs de format.

... (optional)
Les variables qui servira à stocker les valeurs extraites de la chaîne d’entrée par les spécificateurs de format dans format.

locale
Paramètres régionaux à utiliser.

Ces deux fonctions retourne le nombre de champs correctement converti et assigné ; la valeur de retour n’inclut pas les champs qui ont été lues mais pas attribués. La valeur de retour 0 indique qu'aucun champ n'a été assigné. La valeur de retour est EOF pour une erreur ou si la fin de la chaîne est atteinte avant la première conversion. Pour plus d’informations, consultez sscanf.

Si input ou format est un NULL pointeur, ou si length est inférieur ou égal à zéro, le Gestionnaire de paramètre non valide 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.

Pour plus d’informations sur les autres codes d’erreur, consultez _doserrno, errno, _sys_errlist et _sys_nerr.

Cette fonction est similaire à sscanf , sauf qu’elle offre la possibilité de spécifier un nombre fixe de caractères pour examiner la chaîne d’entrée. Pour plus d’informations, consultez sscanf.

Les versions de ces fonctions avec le suffixe _l sont identiques, sauf qu'elles utilisent les paramètres régionaux passés au lieu des paramètres régionaux du thread actuel.

Mappages de routines de texte générique

Routine Tchar.h_UNICODE et _MBCS non définis_MBCS défini_UNICODE défini
_sntscanf_snscanf_snscanf_snwscanf
_sntscanf_l_snscanf_l_snscanf_l_snwscanf_l
RoutineEn-tête requis
_snscanf, _snscanf_l<stdio.h>
_snwscanf, _snwscanf_l<stdio.h> ou <wchar.h>

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

// crt_snscanf.c  
// compile with: /W3  
  
#include <stdio.h>  
int main( )  
{  
   char  str1[] = "15 12 14...";  
   wchar_t  str2[] = L"15 12 14...";  
   char  s1[3];  
   wchar_t  s2[3];  
   int   i;  
   float fp;  
  
   i = _snscanf( str1, 6,  "%s %f", s1, &fp); // C4996  
   // Note: _snscanf is deprecated; consider using _snscanf_s instead  
   printf("_snscanf converted %d fields: ", i);  
   printf("%s and %f\n", s1, fp);  
  
   i = _snwscanf( str2, 6,  L"%s %f", s2, &fp); // C4996  
   // Note: _snwscanf is deprecated; consider using _snwscanf_s instead  
   wprintf(L"_snwscanf converted %d fields: ", i);  
   wprintf(L"%s and %f\n", s2, fp);  
}  

_snscanf converted 2 fields: 15 and 12.000000  
_snwscanf converted 2 fields: 15 and 12.000000  

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

Spécification de largeur scanf

Afficher: