sscanf() : effectue des entrées formatées depuis une chaîne.
Prototype:
int sscanf(const char *tampon, const char *format [, adresse1, ...]);
dans: <stdio.h>
Description:
Comme scanf(), la fonction sscanf() formate une suite de caractères et modifie les variables aux adresses indiquées. Mais sscanf() prend la suite de caractères dans la chaîne tampon' (son premier paramètre), alors que scanf() les prend depuis l'entrée standard.
Le formatage de cette suite de carcatères, précisé par le paramètre 'format', est identique pour les deux sous-programmes.
Ensuite, sscanf() mémorise les entrées formatées aux adresses passées dans les arguments qui suivent la chaîne de format. Il doit y avoir autant de spécifications de format que d'arguments correspondant à ceux-ci ( ou de champs d' entrées).
Voir scanf() pour une description des spécifications de format.
Valeur renvoyée:
- le nombre de valeurs affectées aux adresses adresse1, ... ou
- EOF en cas d'erreur lors d'une conversion ou si la fin de la chaîne 'tampon' est rencontée.
Voir la rubrique scanf pour une description des causes possibles.
Voir aussi:
Portabilité:
système
UNIX,
DOS,
norme
ANSI.
Exemple:
#include
void main(void) {
char tampon[] ="a 3.14159 12 une-chaine";
char cc;
double dd;
int ii, nbm;
char ch[20];
nbm = sscanf( tampon,"%c %lf %d %s", &cc, &dd, &ii, ch);
printf("%d arguments modifiés : \n\t\t%c %lf %d %s\n",
nbm, cc, dd, ii, ch);
}