_cscanf
, , _cscanf_l
_cwscanf
, ,_cwscanf_l
Lit les données mises en forme à partir de la console. Des versions plus sécurisées de ces fonctions sont disponibles ; voir , , _cwscanf_s
_cscanf_s_l
, _cwscanf_s_l
._cscanf_s
Remarque
Dans Visual Studio 2015, les printf
fonctions et scanf
la famille de fonctions ont été déclarées comme inline
et déplacées vers les en-têtes et <conio.h>
les <stdio.h>
en-têtes. Si vous migrez du code plus ancien, vous pouvez voir l’erreur de l’éditeur de liens LNK2019 en connexion avec ces fonctions. Pour plus d’informations, consultez l’historique des modifications Visual C++ 2003 - 2015.
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 dans les applications de la plateforme Windows universelle.
Syntaxe
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 retournée
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 qui n’ont pas été affectés. La valeur de retour est EOF
pour une tentative de lecture à la fin du fichier. Une EOF
valeur peut également être retournée lorsque l’entrée du clavier est redirigée au niveau de la ligne de commande du système d’exploitation. Une valeur de retour de zéro signifie qu’aucun champ n’a été affecté.
Notes
La fonction _cscanf
lit les données directement à partir de la console dans les emplacements donnés par argument
. La _getche
fonction est utilisée pour lire les caractères. Chaque paramètre facultatif doit être un pointeur désignant 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 le même formulaire et fonction que le format
paramètre de la scanf
fonction. Alors qu’il _cscanf
fait normalement écho au caractère d’entrée, il ne le fait pas si le dernier appel était à _ungetch
.
Cette fonction valide ses paramètres. Si le format est NULL
, le gestionnaire de paramètres non valide est appelé, 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 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 |
Spécifications
Routine | En-tête requis |
---|---|
_cscanf , _cscanf_l |
<conio.h> |
_cwscanf , _cwscanf_l |
<conio.h> ou <wchar.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
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" );
}
1 2 3
Enter three integers: 1 2 3
You entered 3 2 1
Voir aussi
E/S de console et de port
_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