Une chaîne peut être formatée, l'envoyant à la console ou l'envoi à un fichier. Ce tutoriel explique le formatage d'une chaîne, en utilisant la fonction printf (), l'envoyant au terminal (console). En C ++, la fonction printf () peut être utilisée, par l'inclusion de la bibliothèque.
Contenu de l'article
- Types arithmétiques
- Nature variatique de printf
- Type de chaîne
- Espace blanc
- Conclusion
Types arithmétiques
Les types arithmétiques sont des types entiers et flottants. Considérez le programme suivant:
#inclureLa sortie est:
Du texteLe premier argument à la fonction printf () est un littéral de chaîne. Le personnage de Newline, «\ n» dans le littéral de cordes, oblige tout ce qui est imprimé pour être imprimé sur la ligne suivante, même si cette chose se trouve dans les doubles quotes. Le «\ n» est également un personnage blanc.
Avec l'inclusion de, «#include» n'est pas vraiment nécessaire.
Entier
Considérez les déclarations printf () suivantes:
printf ("numéro est:% i \ n", 52);La sortie est:
Le numéro est: 52Le% i ou% d est un exemple de spécificateur de format. % i Dans le premier argument de la fonction printf, qui est un littéral de cordes, signifie se remplacer par la valeur entière qui est le prochain argument de la fonction printf. % d est un synonyme de% i. Le «\ n» jouera toujours son rôle dans l'envoi de ce qui doit être imprimé à côté de la ligne suivante au terminal. Un spécificateur tel que% i, tapé à côté de \ n, ne pose aucun conflit d'intérêts. Le deuxième argument de la fonction printf () peut être une variable.
En se remplaçant par la valeur d'argument suivante de la fonction printf, le spécificateur serait étendu à la valeur correspondante. Remarque:% i est pour un entier, tandis que% f est pour un numéro de flotteur.
Maintenant, si un zéro est inséré entre% et le spécificateur réel, je, je.e., % 0i pour 1 zéro, alors 52 seront sortis en 52. S'il est% 02i, pour 2 zéros, 52 seront toujours sortis en 52. S'il est% 03i, pour 3 zéros, 52 seront sortis comme 052. Un zéro a été ajouté, en troisième position, en comptant à partir de l'extrémité droite du numéro. S'il est% 04i, pour 4 zéros, 52 seront sortis en 0052. Deux zéros ont été ajoutés, en quatrième position, en comptant à partir de l'extrémité droite du numéro.
Dans ce contexte, zéro est appelé un drapeau. Le programme suivant illustre ceci:
#inclureLa sortie est:
Le numéro est: 52Zéro dans ce contexte est appelé un drapeau. Un autre drapeau possible est l'espace. Le programme suivant l'illustre pour l'espace:
#inclureLa sortie est:
Le numéro est: 52Notez qu'avec l'indicateur d'espace, aucun caractère n'est utilisé dans le spécificateur de format. Un drapeau est ajouté devant le numéro pour compenser le nombre de positions demandées pour le champ de présentation, en comptant à partir de la droite. Si le nombre de positions est inférieur ou égal au nombre de chiffres, aucun indicateur n'est ajouté.
Largeur de champ
Un champ est le nombre de caractères qui peuvent être affichés pour ce numéro. Une largeur de champ est le nombre maximum de caractères que le programmeur espère obtenir. Le numéro de largeur du champ est inséré juste après le drapeau (vers la droite) dans le spécificateur de format. C'est la même chose que le numéro précédent. Si le nombre de caractères à afficher est naturellement supérieur à la largeur du champ, la fonction printf () lui permettra. Le programme suivant illustre ceci:
#inclureLa sortie est:
Le numéro est: 001Flotter
Un numéro de point flottant est un nombre avec la partie entière et une partie décimale. Remarque, la partie entière n'est pas représentée comme un entier, en interne. Le spécificateur réel du flotteur est «f». Le programme suivant illustre ceci:
#inclureLa sortie de l'ordinateur de l'auteur est:
Le nombre est: 2.530000Ce nombre a naturellement 2 décimales. Malheureusement, 4 décimales de 4 zéros ont été annexées. La vérité est que l'ordinateur de l'auteur arrête le nombre de décimales à 6. Il ajoutera des zéros pour compenser 6 décimales si le nombre naturel de décimales est moindre. Le nombre de décimales peut être décidé par le programmeur. Il peut être inférieur ou égal à 6, ou il peut être supérieur à 6.
Cette intention a besoin d'un autre composant de code, appelé le composant de précision, pour le spécificateur de format. Il se compose du point et d'un nombre pour le nombre de décimales recherchées. Le programme suivant illustre ceci:
#inclureLa sortie est:
Le nombre est: 2.530000Noter que ".0 ”n'est dans aucun des spécificateurs.
Nature variatique de printf
Le premier argument de la fonction printf () est une chaîne littérale. Les spécificateurs de format peuvent être entrecoupés dans la chaîne littérale. Le premier spécificateur de format de la gauche, dans la chaîne littérale, correspond au deuxième argument de la fonction printf (). Le deuxième spécificateur de format de la gauche, dans la chaîne littérale, correspond au troisième argument de la fonction printf (). Le troisième spécificateur de format correspond au quatrième argument de la fonction printf () et ainsi de suite. Le programme suivant l'illustre pour les types INT et Float:
#inclureLa sortie est:
Les numéros sont 027 et 052 et 2.530
Type de chaîne
Le spécificateur de format de chaîne de base est% s. Le programme suivant montre son utilisation:
#inclureLa sortie est:
Je t'aime.Le caractère '\ n' est d'envoyer tout ce qui est imprimé à côté de la ligne suivante. Tout le premier argument ici a% s comme contenu.
Les différentes façons possibles d'utiliser les nombres, avec le spécificateur de format de chaîne, sont les suivantes:
% numsIl y a 11 caractères dans la chaîne, "Je t'aime."Le point est un personnage. Si num est inférieur à 11, la chaîne de sortie ne sera pas tronquée. S'il est supérieur à 11, des espaces supplémentaires seront rembourrés à gauche pour faire le nombre total de caractères sur le terrain le nombre donné. Le code suivant illustre ceci:
#inclureLa sortie est:
Je t'aime.Ici, il y a un point devant le numéro. Le point signifie ici imprimer le nombre de caractères du numéro donné, à partir du premier caractère. Cela signifie que si Num est inférieur au nombre total de caractères, tronquez l'équilibre à droite. Si num est plus, ajoutez des espaces à droite pour compenser le numéro donné. Le programme suivant illustre ceci:
#inclureLa sortie est:
J'aime je t'aime.Cette sortie a besoin d'explications supplémentaires. Dans la chaîne «Je t'aime.\ n ”, il y a 12 caractères. «\ N» est un personnage. Les 7 premiers personnages sont "j'aime". La première fonction printf () du programme imprime ceci: «J'AIME», tronquant le reste de la chaîne littérale, y compris «\ n». Depuis "\ n" du premier "Je t'aime.\ n ”a été enlevé, tout ce qui doit être imprimé ensuite, est imprimé sur cette ligne. La deuxième fonction printf () imprime ses 11 caractères. Le douzième caractère, qui est «\ n», fait passer le curseur à la ligne suivante. Ensuite, 4 espaces supplémentaires doivent être imprimés ensuite.
% -numsIci, il y a un trait d'union devant le numéro. Le trait d'union signifie, imprimez le nombre de caractères du nombre donné, à partir du premier caractère. De plus, ne tronquez pas si num est inférieur au nombre total de caractères. Ajoutez simplement plus d'espaces à droite pour compenser le numéro donné. Le programme suivant illustre ceci:
#inclureLa sortie est:
Je t'aime.Le curseur apparaît après 4 espaces supplémentaires dans la troisième ligne.
%.num1-num2s,% -num1.num2L'interprétation de ces deux éléments est laissée comme un exercice pour le lecteur.
Espace blanc
Le «\ n» est un exemple de caractère blanc. Les caractères des espaces sont des séquences d'échappement. Ils ne sont pas imprimés. Ils ont juste leurs effets individuels. Par exemple, «\ n» fait passer le curseur à la ligne suivante. Dans les échantillons de code précédents, ce «\ n» a été utilisé dans le premier argument de la fonction printf (), un littéral de cordes. Il peut toujours être utilisé comme variable, comme le montre le programme suivant:
#inclureLa sortie est:
Première ligneVoici les espaces blancs et leurs significations:
\ n: Ajouter une nouvelle ligne
\ t: onglet horizontal
\ v: Onglet vertical
\F: se nourrir
\ 040: Espace unique en appuyant sur la touche de barre d'espace
\ r: retour en chariot
Conclusion
Le formatage de la chaîne signifie mettre certains caractères pour une chaîne, dans des positions particulières et un ordre particulier. Cela implique également l'insertion de caractères blancs dans certaines positions. C ++ 20 est la dernière version de C++. Il a une bibliothèque de format. Cependant, la plupart des compilateurs C ++ n'ont pas encore implémenté cette bibliothèque. Remarque, la fonction variadic printf (), incorporée dans la langue C ++ de la langue C, est similaire au but de la bibliothèque de format. Le premier argument de cette fonction est un littéral de cordes. Les spécificateurs de format sont entrecoupés. Le reste des arguments à la fonction printf () correspond à ces spécificateurs dans l'ordre.