Alignement printf

cosette -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Contributeur Dernière intervention   1 846
 
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   Statut Membre Dernière intervention   4
 
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