Intro :
Parfois dans un programme on veut retranscrire rapidement un morceau de chaîne de caractères (en entrée) vers un autre type (en arrivée) que l’on souhaite.
Prérequis :
– Savoir lire du C++
– Être curieux !
Explications :
Pour se faire, on utilisera la fonction définie dans l’en-tête C++
Le format de cette fonction est le suivant :
|
1 |
int swscanf (const wchar_t* ws, const wchar_t* format, ...); |
Paramètres :
– ws : une chaîne de caractère étendue / large (sur 32 bits) que la fonction se sert pour recevoir les données à traiter.
– format : contient une chaîne de caractères spécifiant le schéma / patron de la chaîne à analyser ; le format spécifié suit le même schéma que la fonction scanf.
– … : il s’agit des paramètres additionnels qui vont servir à stocker les valeurs sortantes.
Valeur de retour :
– La valeur de retour 0 indique qu’aucun champ n’a été assigné
– Retourne le nombre de champs qui sont correctement convertis et assignés
Exemple :
|
1 2 3 4 5 6 |
wchar_t sentence [] = L"Clément a 28 ans"; wchar_t str [20]; int i; swscanf (sentence,L"%ls %*s %d",str,&i); wprintf (L"%ls -> %d\n",str,i); |
Affiche : Clément -> 28.
Résumé :
Nous avons présenté une méthode pour convertir une chaîne formatée en entrée.
Références :
– http://www.cplusplus.com/reference/cwchar/swscanf/
– https://msdn.microsoft.com/fr-fr/library/zkx076cy.aspx


