Share via


_cscanf, _cscanf_l, _cwscanf, _cwscanf_l

Lit les données mises en forme depuis la console. Des versions plus sécurisées de ces fonctions sont disponibles ; consultez _cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l.

Important

Cette API ne peut pas être utilisée dans les applications qui s'exécutent dans le Windows Runtime.Pour plus d'informations, consultez Fonctions CRT non prises en charge avec /ZW.

int _cscanf( 
   const char *format [,
   argument] ... 
);
int _cscanf_l( 
   const char *format,
   locale_t locale [,
   argument] ... 
);
int _cwscanf( 
   const wchar_t *format [,
   argument] ... 
);
int _cwscanf_l( 
   const wchar_t *format,
   locale_t locale [,
   argument] ... 
);

Paramètres

  • format
    Chaîne de contrôle de format.

  • argument
    Paramètres facultatifs.

  • locale
    Paramètres régionaux à utiliser.

Valeur de retour

Le nombre de champs qui ont été correctement convertis et assignés. La valeur de retour n'inclut pas les champs qui ont été lus mais non assignés. La valeur de retour est EOF pour une tentative de lire à la fin du fichier. Cela peut se produire lorsque l'entrée au clavier est redirigée au niveau ligne de commande du système d'exploitation. La valeur de retour 0 signifie qu'aucun champ n'a été assigné.

Notes

La fonction _cscanf lit les données directement de la console dans les emplacements spécifiés par argument. La fonction _getche est utilisée pour lire des caractères. Chaque paramètre optionnel doit être un pointeur vers une variable dont le type correspond à un spécificateur de type dans format. Le format contrôle l'interprétation des champs d'entrée et a la même forme et fonction que le paramètre format pour la fonction scanf . Bien que _cscanf répercute normalement le caractère d'entrée, il ne le fait pas si le dernier appel a la valeur _ungetch.

Cette fonction valide ses paramètres. Si le format a la valeur NULL, 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, errno est défini comme EINVAL et la fonction retourne EOF.

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

_tcscanf

_cscanf

_cscanf

_cwscanf

_tcscanf_l

_cscanf_l

_cscanf_l

_cwscanf_l

Configuration requise

Routine

En-tête requis

_cscanf,_cscanf_l

<conio.h>

_cwscanf, _cwscanf_l

<conio.h> or <wchar.h>

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

Exemple

// crt_cscanf.c
// compile with: /c /W3
/* This program prompts for a string
 * and uses _cscanf to read in the response.
 * Then _cscanf returns the number of items
 * matched, and the program displays that number.
 */

#include <stdio.h>
#include <conio.h>

int main( void )
{
   int   result, i[3];

   _cprintf_s( "Enter three integers: ");
   result = _cscanf( "%i %i %i", &i[0], &i[1], &i[2] ); // C4996
   // Note: _cscanf is deprecated; consider using _cscanf_s instead
   _cprintf_s( "\r\nYou entered " );
   while( result-- )
      _cprintf_s( "%i ", i[result] );
   _cprintf_s( "\r\n" );
}

Entrée

1 2 3

Sortie

Enter three integers: 1 2 3
You entered 3 2 1

Voir aussi

Référence

Console et port E/S

_cprintf, _cprintf_l, _cwprintf, _cwprintf_l

fscanf, _fscanf_l, fwscanf, _fwscanf_l

scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l

sscanf, _sscanf_l, swscanf, _swscanf_l