Bonjour !
J'ai parcouru http://cpp.developpez.com/faq/cpp/?p...stream_iomanip et ce forum sans trouver la réponse à ma question. J'ouvre donc ce sujet : je veux formater un flux.
Je fixe les ios_base::flags de mon flux grâce aux manipulateurs puis j'écris le flux grâce à l'opérateur <<.
Il semble que l'appel des manipulateurs doit être fait à chaque écriture même si les flags sont persistents :
Donne la sortie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 cout << setw(8) << setbase(16) << setfill('0'); for ( int i = 0; i <=0xF; i++ ) cout << i << endl;
00000000
1
.
.
.
E
F
Il faut le code suivant pour que le formatage soit correct sur les 16 écritures :
On obtient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for ( int i = 0; i <=0xF; i++ ) cout << setw(8) << setbase(16) << setfill('0') << i << endl;
00000000
00000001
00000002
00000003
00000004
00000005
00000006
00000007
00000008
00000009
0000000a
0000000b
0000000c
0000000d
0000000e
0000000f
Sauriez vous pourquoi les manipulateurs doivent être appelés à chaque écriture ?
Y a t il un moyen pour fixer le formatage une bonne fois pour toute afin d'éviter l'appel systématique des manipulateurs ?
Merci pour votre aide.
Sylvain
Partager