Y a-t-il un moyen de remplacer le caractère d'espace à 0 dans le remplissage de PrintF pour la largeur de champ
code utilisé p> ne semble pas fonctionner pour les chaînes! p> p>
3 Réponses :
En effet, le drapeau 0 code> ne fonctionne que pour les conversions numériques. Vous devrez faire cela à la main:
Une version avec moins de dactylographie: printf ("%. * S% s", n> = 10? 0: (int) (10-N), "0000000000", S); code>
Cela aide vraiment. Merci Zwol.
Essayez ceci:
printf("%010d%s", 0, "this");
Qui imprimera 0000000000 code> puis la chaîne; OP voulait un total de 10 caractères
Qu'en est-il de
~:11111ABCD
Sympa, mais ça n'est pas c
Vous voulez dire rembourrage dans
printf code>, passcanf code>, n'est-ce pas?Techniquement, le modificateur
0 code> dit "pour d'autres conversions ( pas numériques, par exemple% s i>), le comportement n'est pas défini." Je crois que les anciennes versions de HPUX (et peut-être d'autres systèmes System V) feraient cela pour (ou contre) vous, où Linux et BSD ne ...