Alignement printf

Fermé
cosette - 19 mai 2013 à 01:04
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 19 mai 2013 à 02:06
Bonjour,

j'ai une petite question toute bête, supposons que j'ai ceci comme affichage:

julien =
toto =
blaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =
oo =

Ya t'il une petite astuce avec printf pour aligner les '=' à droite? Les tabulations ne marchent pas car il faudrait un nombre de tab différentes pour chaque ligne...(elles ne marchent que quand la différence de longueur entre les chaines est minime).

Merci

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
19 mai 2013 à 02:06
Bonjour,

Il suffit faut combiner indicateur et largeur d'affichage de la fonction printf().
Par exemple :
printf("%-15s =","julien");
printf("%-15s =","toto");
printf("%-15s =","blaaaaaaaaaaa");

Si tu veux qu'il choisisse la largeur (15) adéquate en fonction des chaînes, il faut calculer la longueur de la chaîne la plus grande et l'injecter dans printf(). Ca se fait très bien ;-).

Cdlt,
1
jeremux Messages postés 58 Date d'inscription samedi 23 octobre 2010 Statut Membre Dernière intervention 30 mai 2013 4
19 mai 2013 à 01:23
S'il y en a une j'aimerais bien la connaitre!

Sinon je te propose de recoder ta fonction printf vite fait, qui va en gros prendre la taille l1 du texte le plus long et par rapport à la taille des autres textes à afficher va ajouter un certain nombre d'espace en conséquent (si l'autre texte est de taille l2, on va ajouter l1-l2 espace...puis ecrire le texte). Bref c'est une idée si t'es préssé car j'en ai pas une meilleure sur le coup.
0