J'ai deux fonctions, une qui produit des messages comme Starting initialization...
et une autre qui vérifie les codes de retour et les sorties "Ok"
, "Warning"
ou "Error"
. Cependant, la sortie produite est de longueur différente:
Starting initialization...Ok.
Checking init scripts...Ok.
Comment puis-je obtenir quelque chose comme ça:
Starting initialization... Ok.
Checking init scripts... Ok.
c
string
printf
pretty-print
psihodelia
la source
la source
-
, vos données seront justifiées à droite dans un champ dont vous avez spécifié la largeur.printf
permet le formatage avec des spécificateurs de largeur. par exempleVous utiliseriez un spécificateur de largeur négatif pour indiquer la justification à gauche car la valeur par défaut est d'utiliser la justification à droite.
la source
De plus, si vous souhaitez avoir la
width
possibilité de choisir le , vous pouvez choisir entre l'un des deux formats suivants (avec ou sans troncature):la source
Il y a aussi le
%n
modificateur qui peut aider dans certaines circonstances. Il renvoie la colonne sur laquelle la chaîne se trouvait jusqu'ici. Exemple: vous voulez écrire plusieurs lignes dans la largeur de la première ligne comme un tableau.imprimera 2 colonnes de la même largeur de longueur quelle que soit les deux chaînes
header1
etheader2
peut avoir. Je ne sais pas si toutes les implémentations ont le%n
mais Solaris et Linux le font.la source
Il y a aussi la solution plutôt low-tech de compter en ajoutant des espaces à la main pour aligner vos messages. Rien ne vous empêche d'inclure quelques espaces de fin dans vos chaînes de message.
la source
Commencez par utiliser les tabulations, le modificateur de caractères \ t . Il avancera vers un emplacement fixe (colonnes, jargon terminal). Cependant, cela n'aide pas s'il y a des différences supérieures à la largeur de la colonne (4 caractères, si je me souviens bien).
Pour résoudre ce problème, écrivez votre truc "OK / NOK" en utilisant un nombre fixe d'onglets (5? 6 ?, essayez-le), puis retournez ( \ r ) sans nouvelle ligne, et écrivez votre message.
la source