Alignement printf
cosette
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
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
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
A voir également:
- Alignement printf
- Printf binaire ✓ - Forum C
- Echec alignement imprimante hp - Forum Imprimante
- Printf ls ✓ - Forum C
- Supprimer alignement cartouche hp ✓ - Forum Imprimante
- Indesign alignement automatique ✓ - Forum InDesign
2 réponses
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,
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,
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.
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.