SSCANF C ++

SSCANF C ++

C ++ est un rapide et l'un des langages de programmation les plus anciens idéaux pour le développement de systèmes d'exploitation. Il offre des performances élevées et une grande vitesse, et couvre divers types d'applications. Il fournit une syntaxe très avancée, se rend complexe et difficile à apprendre. Sa fonctionnalité intégrée, cependant, est très utile pour créer tout type d'application. La conversion des nombres à partir de chaînes ou de chaînes à partir de nombres est une tâche assez déroutante. Par conséquent, nous avons besoin de certaines fonctions qui peuvent être utilisées avec la conversion de num en str ou str en num. Ici, nous apprendrons à utiliser la fonction SSCANF pour convertir une entrée en un type de sortie spécifié.

La fonction SSCANF C ++

La fonction SSCANF est l'une des fonctions C ++ les plus couramment utilisées pour convertir les nombres en chaînes. Il prend une entrée de l'utilisateur ou du tampon, convertit la chaîne en un INT et la stocke dans une variable spécifiée. En mots simples, il interprète l'entrée en fonction du format et stocke la valeur résultante dans un emplacement spécifique. Si remplit une fonction similaire à ScanF, mais lit l'entrée du tampon au lieu de l'entrée standard.

Voir la syntaxe complète suivante de la fonction SSCANF fournie par la langue de programmation C ++:

La fonction SSCANF prend un minimum de deux arguments d'entrée et une liste d'arguments facultatifs. L'argument facultatif signifie qu'ils peuvent être sautés si cela n'est pas nécessaire. Il lit les données du tampon «d'entrée» au format «format» dans l'emplacement spécifié par le «Argument_List». Le paramètre ou l'argument «d'entrée» représente la chaîne de la fonction qui est utilisée pour récupérer les données. Le paramètre «Format» représente la chaîne de format qui spécifie comment lire l'entrée d'un tampon.

Le format du spécificateur «format» est le suivant:

Il commence par un% de signe suivi de * qui est un caractère de suppression d'affectation. Les champs de largeur et de longueur sont facultatifs et ils peuvent être sautés. S'il est fourni, la fonction SSCANF ne consomme que ce nombre maximal de caractères spécifiés par la «largeur». Le champ «longueur» définit la taille de l'argument de réception. Le spécificateur_name contient le caractère spécifique (C, S, D, etc.) en spécifiant le type de conversion. Le «argument_list» peut contenir au moins un argument supplémentaire. Cela dépend de la chaîne «format».

La fonction SSCANF renvoie les trois types de résultats - les arguments de réception avec succès attribués en cas de fonction réussie, zéro en cas d'échec de correspondance et EOF en cas de panne d'entrée. Maintenant, explorons quelques exemples utiles pour apprendre l'utilisation de la fonction SSCANF de C++.

Exemple 1:

Ceci est un exemple très simple et de base de la fonction SSCANF. Une chaîne est affectée à une variable qui est transmise à la fonction SSCANF. Le «int a» est défini pour maintenir le résultat de la fonction SSCANF. Voir le code donné suivant et comprendre chaque ligne de code.

Après avoir inclus le fichier d'en-tête ioStream, la méthode principale () est lancée. La chaîne «S = 104785» est initialisée et transmise à la fonction SSCANF SSCANF (S, «% D», & A). Le% d représente le format de conversion. Et «a» est fourni pour tenir le résultat.

#inclure
Utilisation de Namespace Std;
int main()

const char * s = "104785";
int a;
sscanf (s, "% d", & a);
couter << "\nThe converted value of "<retour 0;

La sortie peut être vue ici. La chaîne «104785» est convertie en numéro décimal «104785».

Exemple 2:

Dans cet exemple, nous lisons le flotteur et le double flotteur en utilisant la même fonction SSCANF. Une chaîne est affectée à une variable qui est transmise à la fonction SSCANF pour la conversion de format. Voir le code suivant pour comprendre la fonction de SSCANF avec des nombres flottants et doubles.

Notez que dans l'exemple précédent,% D est utilisé comme «spécificateur de format». Dans cet exemple,% F et% LF sont utilisés. Le% F est utilisé pour convertir l'entrée en un numéro de flotteur et% LF est utilisé pour convertir le numéro en un numéro de flotteur double.

#inclure
#inclure
Utilisation de Namespace Std;
int main()

const char * s = "104785.54 ";
flotter a;
sscanf (s, "% f", & a);
printf ("\ nthe float la valeur est:% f", a);
Double B;
sscanf (s, "% lf", & b);
printf ("\ nThe Double Float Value est:% f", b);
retour 0;

Vérifiez la sortie donnée dans les éléments suivants:

Notez que la sortie après la décimale est différente pour le flotteur et pour le double flotteur. En effet, le flotteur fournit le résultat approximatif le plus proche et il est pratique, rapide et précis. Tandis que le double flotteur fournit le résultat calculé exact car il s'agit de fiabilité et de précision. Cependant, c'est un peu plus lent que flotter.

Exemple 3:

Laissez-nous jouer avec certaines données de tableau. Dans cet exemple, l'entrée est fournie sous la forme d'un tableau et est convertie en chaînes simples. Le spécificateur de format% S est utilisé pour convertir l'entrée en une chaîne. Ainsi, nous utilisons le% S comme spécificateur de format ici. Deux tableaux vides sont définis pour maintenir la sortie - FN [10] et LN [10]. Ce qui suit est le code.

Ici, un nom composé de prénom et de nom de famille est attribué à un tableau buf [] et est transmis à la fonction SSCANF, convertissant chaque élément du tableau en une chaîne. Lorsque vous exécutez le programme de code, vous remarquerez chaque élément du tableau séparément. Comme il n'y a que deux champs de sortie définis (FN et LN), les deux éléments du tableau sont affichés par le programme. Le tableau FN [10] détient le prénom «Daniyal». Et le tableau LN [10] détient le nom de famille «Privater».

#inclure
int main ()

char fn [10], ln [10];
Char buf [] = "Privateur Daniyal";
SSCANF (BUF, "% S% S", FN, LN);
printf ("Le prénom est:% s \ n le nom de famille est:% s \ n", fn, ln);
retour 0;

La sortie de cet exemple est montrée dans les éléments suivants:

Comme vous pouvez le voir, la valeur du tableau «Daniyal Privater» est convertie en deux cordes - «Daniyal» et «Privater» - par le spécificateur de format% S.

Conclusion

Ce tutoriel concerne la fonction SSCANF. Ici, nous avons appris à utiliser efficacement la fonction SSCANF pour convertir les données. La fonction SSCANF prend l'entrée du tampon et la convertit en type de sortie spécifié défini par le spécificateur «format». Il faut trois ou plus trois arguments en fonction du spécificateur «format». La valeur d'entrée est le premier paramètre, et le spécificateur de format est le deuxième. Il instruit la fonction du type de conversion. Le troisième paramètre est facultatif. Il peut s'agir d'un argument ou d'une liste de plusieurs arguments en fonction du spécificateur «format». Il renvoie les trois types de résultats - les arguments de réception, zéro ou EOF (fin du fichier). Le SSCANF est une fonction très simple et facile de C ++ qui est utilisée pour les conversions.