fonction sscanf en c

fonction sscanf en c
Dans les différents langages de programmation comme C, nous rencontrons toujours des programmes qui contribuent à prendre les entrées de l'utilisateur sous la forme de toute valeur tapée de l'entrée du clavier, qui implique l'utilisation de la méthode scanf (). Mais plusieurs autres programmes existent lorsque nous voulons lire les données formatées à partir de l'autre chaîne au lieu de l'entrée du clavier. Pour de tels types de chaînes formatées de lecture d'une chaîne à une autre, nous utilisons la méthode sscanf (). Cette fonction écrase la valeur en une chaîne avec l'autre chaîne, ou lorsqu'elle extrait et divise la chaîne entière en deux chaînes différentes. Supposons que nous ayons une chaîne «Salut au monde». Nous cassons et stockons cette chaîne en trois autres chaînes et la stockons dans une autre variable; Ensuite, nous pouvons utiliser la méthode sscanf ().

Procédure

Nous pourrions être confondus avec l'utilisation des fonctions Scanf () et Sscanf () dans le C. Cet article différenciera ces deux fonctions et nous montrera la syntaxe et la méthode pour implémenter la méthode sscanf () à l'aide de divers exemples. Continuons la procédure avec les étapes suivantes:

Syntaxe
Pour implémenter la méthode sscanf (), nous devons avoir une prise complète sur la syntaxe de cette méthode. Cette fonction prend les arguments suivants que nous devons comprendre complètement:

$ int sscanf (const char * string, const char * format, [arg1, arg2,…]);

Dans les arguments de la méthode sscanf (), le premier argument est le type de chaîne de caractère de pointeur qui agit comme une source pour la fonction pour récupérer les données ou, en d'autres termes, cela agit comme un tampon. Le deuxième argument est le spécificateur de format indiquant le type de données des données à allouer, et le dernier est la liste d'argument qui est la même que la méthode scanf (). En bref, la méthode sscanf () est utilisée spécifiquement pour lire les données du tampon et stocker ces données dans les emplacements tels que définis dans la liste d'arguments, où chaque argument est invité à être un pointeur pour la variable avec le type comme spécifié dans la chaîne de format (deuxième argument).

Exemple # 01
Nous implémenterons un programme dans cet exemple pour montrer le fonctionnement du sscanf () pour lire les chaînes. Pour travailler avec la méthode sscanf (), nous devions importer les deux fichiers en en-têtes suivants dans les programmes.

$ # Inclure
$ # Inclure

Les deux bibliothèques avec extension «.h ”sont représentés comme les fichiers des en-têtes. Cette première bibliothèque est incluse pour utiliser les informations concernant la lecture des entrées et des sorties d'affichage dans le programme. La chaîne ".h ”est utilisé car ce fichier d'en-tête gère la déclaration des fonctions qui traitent des chaînes, de la mémoire et des constantes. Maintenant, dans l'essentiel, nous déclarerons et initialiserons une chaîne de pointeur avec le type de données avec sa valeur assignée sous le nom de «David Executive 39». Ensuite, nous déclarerons les deux autres chaînes avec des noms, la «désignation» et le «nom», respectivement, ayant la taille de la mémoire égale à dix «10».

Une autre variable avec un entier de type de données et l'âge du nom seront également initialisés. À l'étape suivante, nous appellerons la méthode sscanf () et lirons les données de la chaîne de type pointeur déjà déclaré et initialisée. La chaîne déclarée «David Executive 39» a trois éléments différents: nom, âge et désignation. Nous les lirions en suivant la même procédure que ScanF (), où nous lirons les informations en passant le spécificateur de format pour cette information avec son nom.

Cela se ferait dans la liste des arguments de la méthode sscanf () comme SSCANF (String, «% s% s% d», nom, désignation et âge), puis nous les enregistrerons dans une autre variable avec le type de données comme « int ". Après les étapes, nous avons extrait les trois informations différentes d'une chaîne. Maintenant, nous allons afficher ces trois éléments dans la sortie en appelant la méthode printf ().

#inclure
#inclure
int main ()

char * string = "David Executive 28";
Nom de char [10], désignation [10];
en âge, extrait;
Extract = sscanf (String, "% s% s% d", nom, désignation, & Âge);
printf ("name:% s \ n", nom);
printf ("désignation:% s \ n", désignation);
printf ("Âge:% d \ n", âge);
retour 0;

La sortie illustre que nous avons extrait d'une chaîne de tampon les trois informations et les avons écrites dans les emplacements de liste d'arguments spécifiques comme nom, désignation et âge à l'aide de la méthode sscanf ().

Exemple # 02
Nous implémenterons un autre exemple pour la méthode sscanf () pour extraire les chaînes de l'autre chaîne. Tout d'abord, nous importerons les bibliothèques requises, comme suit:

$ # Inclure
$ #include
$ #include

Ces bibliothèques incluront automatiquement les fonctions nécessaires, SSCANF et ScanF () dans le programme. Dans l'exemple précédent, nous avions utilisé la chaîne de type de pointeur pour pointer qui agissait comme un tampon ou une source, afin que nous puissions en récupérer les données. Mais, dans cet exemple, nous déclarerons simplement une chaîne en utilisant Strcpy (String_name, «String»). Ensuite, nous utiliserons cette chaîne comme premier argument de la méthode sscanf () pour l'utiliser comme tampon, il peut donc être lu pour extraire les informations du strcpy () et stocké dans l'emplacement comme spécifié par la liste d'arguments. Une fois les informations stockées dans les emplacements d'argument respectifs à l'aide de la méthode sscanf (), nous afficherons ces informations avec des noms et des spécificateurs de format en appelant la méthode printf ().

#inclure
#inclure
#inclure
int main ()
Int Day, année;
Char Weekday [20], mois [20], String [100];
Strcpy (String, "Mardi 25 octobre 2022");
SSCANF (String, "% S% S% D% D", en semaine, mois, & jour et année);
printf ("% s% d,% d =% s \ n", mois, jour, année, jour de semaine);
return (0);

Nous avions déclaré une chaîne en utilisant Strcpy avec la chaîne de nom comme mardi 25 octobre 2022, et nous avons passé cette chaîne en tant que chaîne tampon / source à la fonction sscanf (), qui a extrait les informations, comme un mois, une date, l'année et jour selon la liste des arguments. Ces informations extraites sont ensuite affichées, appelant la fonction printf ().

Conclusion

La méthode sscanf () est utilisée dans le langage de programmation C pour remplacer une chaîne par une autre. Pour utiliser cette fonction, il faut avoir une clarté sur le concept de la liste des arguments SSCanf (). Cet article explique clairement le processus étape par étape, qui implique la syntaxe de la fonction, les arguments requis par la fonction et où nous pouvons utiliser cette fonction pour faire une bonne logique pour nos logiciels.