Faire précéder une variable de zéros c++
Résolu
Asterix2231
Messages postés
55
Statut
Membre
-
Nabla's Messages postés 18201 Date d'inscription Statut Contributeur Dernière intervention -
Nabla's Messages postés 18201 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je voudrais savoir s'il existe une commande permettant de faire précéder de (plusieurs) zéro(s) l'affichage du contenu d'une variable numérique en c++.
En c, il existe le code suivante:
qui adapte le nombre de zéros précédent la valeur de ma variable automatiquement:
Est ce qu'il existe quelque chose d'équivalent en c++, utilisant les flux?
Merci d'avance!
Je voudrais savoir s'il existe une commande permettant de faire précéder de (plusieurs) zéro(s) l'affichage du contenu d'une variable numérique en c++.
En c, il existe le code suivante:
int main(){
int i = 1;
int j = 12;
int k = 123;
int l = 1234;
printf("Ma variable vaut: %04i \n", i);
printf("Ma variable vaut: %04i \n", j);
printf("Ma variable vaut: %04i \n", k);
printf("Ma variable vaut: %04i \n", l);
}
qui adapte le nombre de zéros précédent la valeur de ma variable automatiquement:
Ma variable vaut: 0001 Ma variable vaut: 0012 Ma variable vaut: 0123 Ma variable vaut: 1234
Est ce qu'il existe quelque chose d'équivalent en c++, utilisant les flux?
Merci d'avance!
Configuration: Linux / Firefox 3.5.8
3 réponses
-
Oui, c'est ce que je fais depuis une heure à peu près.
Ceci dit j'ai la réponse maintenant, il faut utiliser le manipulateur setfill suivi de setw:cout << setfill('0') << setw(4) << mavariable;
Merci quand même! -
cherches un peu autour des ios_base:
http://www.cplusplus.com/reference/ios/ios_base/setf/
edit:
// field width #include <iostream> using namespace std; int main () { cout << 100 << endl; cout.width(10); cout << 100 << endl; cout.fill('x'); cout.width(15); cout << left << 100 << endl; return 0; } Output: 100 100 100xxxxxxxxxxxx
http://www.cplusplus.com/reference/ios/ios_base/width/
-
je t'avoue que ca doit faire 6 ans que je l'ai vu pour la seule et unique fois ;)