L’exemple de sscanf() à l’aide d’une virgule (,) comme séparateur

Clause d’exclusion de responsabilité pour le contenu périmé de la base de connaissances

Cet article a été écrit au sujet des produits pour lesquels Microsoft n’offre plus de soutien. Par conséquent, cet article est offert « tel quel » et ne sera plus mis à jour.

Résumé


L’exemple ci-dessous montre comment utiliser la fonction d’exécution de sscanf() C pour lire à partir d’une mémoire tampon interne, délimitant les champs par des virgules (,). La clé est d’utiliser des crochets dans le format de la fonction sscanf(). Le format sera % [^ ','], qui indique à la fonction lire à partir de la mémoire tampon jusqu'à ce qu’une virgule (,) est atteinte.

Exemple de Code

/* The following sample illustrates the use of brackets and the   caret (^) with sscanf().
Compile options needed: none
*/

#include <math.h>
#include <stdio.h>
#include <stdlib.h>

char *tokenstring = "first,25.5,second,15";
int result, i;
double fp;
char o[10], f[10], s[10], t[10];

void main()
{
result = sscanf(tokenstring, "%[^','],%[^','],%[^','],%s", o, s, t, f);
fp = atof(s);
i = atoi(f);
printf("%s\n %lf\n %s\n %d\n", o, fp, t, i);
}
Propriétés

ID d'article : 38335 - Dernière mise à jour : 27 janv. 2017 - Révision : 1

Commentaires