_cscanf, _cscanf_l, _cwscanf, _cwscanf_l_cscanf, _cscanf_l, _cwscanf, _cwscanf_l

Lit les données mises en forme à partir de la console.Reads formatted data from the console. Des versions plus sécurisées de ces fonctions sont disponibles ; consultez _cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l.More secure versions of these functions are available; see _cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l.

Notes

Dans Visual Studio 2015, la famille de fonctions printf et scanf a été déclarée comme inline et déplacée vers les en-têtes <stdio.h> et <conio.h>.In Visual Studio 2015 The printf and scanf family of functions were declared as inline and moved to the <stdio.h> and <conio.h> headers. Si vous migrez du code plus ancien, vous pouvez voir l’erreur LNK2019 en relation avec ces fonctions.If you are migrating older code you might see LNK2019 in connection with these functions. Pour plus d’informations, consultez C++ historique des modifications visuelles 2003-2015.For more information, see Visual C++ change history 2003 - 2015.

Important

Cette API ne peut pas être utilisée dans les applications qui s’exécutent dans le Windows Runtime.This API cannot be used in applications that execute in the Windows Runtime. Pour plus d’informations, consultez Fonctions CRT non prises en charge dans les applications de la plateforme Windows universelle.For more information, see CRT functions not supported in Universal Windows Platform apps.

SyntaxeSyntax

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ètresParameters

formatformat
Chaîne de contrôle de format.Format-control string.

argumentargument
Paramètres facultatifs.Optional parameters.

localelocale
Paramètres régionaux à utiliser.The locale to use.

Valeur de retourReturn Value

Le nombre de champs qui ont été correctement convertis et assignés.The number of fields that were successfully converted and assigned. La valeur de retour n’inclut pas les champs qui ont été lus mais pas assignés.The return value does not include fields that were read but not assigned. La valeur de retour est EOF pour une tentative de lecture à la fin du fichier.The return value is EOF for an attempt to read at end of file. Cela peut se produire quand l’entrée au clavier est redirigée au niveau de la ligne de commande du système d’exploitation.This can occur when keyboard input is redirected at the operating-system command-line level. La valeur de retour 0 signifie qu’aucun champ n’a été assigné.A return value of 0 means that no fields were assigned.

NotesRemarks

La fonction _cscanf lit les données directement à partir de la console dans les emplacements donnés par argument.The _cscanf function reads data directly from the console into the locations given by argument. La fonction _getche est utilisée pour lire les caractères.The _getche function is used to read characters. Chaque paramètre facultatif doit être un pointeur vers une variable dont le type correspond à un spécificateur de type au format.Each optional parameter must be a pointer to a variable with a type that corresponds to a type specifier in format. Le format contrôle l’interprétation des champs d’entrée et a les mêmes forme et fonction que le paramètre format pour la fonction scanf .The format controls the interpretation of the input fields and has the same form and function as the format parameter for the scanf function. Alors que _cscanf retourne normalement le caractère d’entrée, il ne le fait pas si le dernier appel était à _ungetch.While _cscanf normally echoes the input character, it does not do so if the last call was to _ungetch.

Cette fonction valide ses paramètres.This function validates its parameters. Si format a la valeur null, le gestionnaire de paramètres non valides est appelé, comme décrit dans validation de paramètre.If format is NULL, the invalid parameter handler is invoked, as described in Parameter Validation. Si l’exécution est autorisée à se poursuivre, errno a la valeur EINVAL et la fonction retourne EOF.If execution is allowed to continue, errno is set to EINVAL and the function returns 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.The versions of these functions with the _l suffix are identical except that they use the locale parameter passed in instead of the current thread locale.

Mappages de routines de texte génériqueGeneric-Text Routine Mappings

Routine TCHAR.HTCHAR.H routine _UNICODE et _MBCS non définis_UNICODE and _MBCS not defined _MBCS défini_MBCS defined _UNICODE défini_UNICODE defined
_tcscanf_tcscanf _cscanf_cscanf _cscanf_cscanf _cwscanf_cwscanf
_tcscanf_l_tcscanf_l _cscanf_l_cscanf_l _cscanf_l_cscanf_l _cwscanf_l_cwscanf_l

spécificationsRequirements

RoutineRoutine En-tête requisRequired header
_cscanf, _cscanf_l_cscanf, _cscanf_l <conio.h><conio.h>
_cwscanf, _cwscanf_l_cwscanf, _cwscanf_l <conio.h> ou <wchar.h><conio.h> or <wchar.h>

Pour plus d’informations sur la compatibilité, voir Compatibilité.For more compatibility information, see Compatibility.

ExempleExample

// 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 aussiSee also

E/S de console et de portConsole and Port I/O
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l_cprintf, _cprintf_l, _cwprintf, _cwprintf_l
fscanf, _fscanf_l, fwscanf, _fwscanf_lfscanf, _fscanf_l, fwscanf, _fwscanf_l
scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_lscanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l
sscanf, _sscanf_l, swscanf, _swscanf_lsscanf, _sscanf_l, swscanf, _swscanf_l