| Manipulateur | Description |
|---|---|
| endl | Envoie un caractère de retour à la ligne sur le flux et synchronise le tampon par un appel à la méthode flush() |
| ends | Envoie un caractère nul terminal de fin de ligne sur le flux |
| flush | Synchronise le tampon utilisé par le flux par un appel à la méthode flush() |
| boolalpha | Affiche les booléens sous forme textuelle |
| noboolalpha | Désactive l’affichage en mode texte des booléens |
| hex | Formate les nombres en base 16 |
| oct | Formate les nombres en base 8 |
| dec | Formate les nombres en base 10 |
| fixed | Utilise la notation en virgule fixe pour les nombres à virgule |
| scientific | Utilise la notation en virgule flottante pour les nombres à virgule |
| left | Aligne les résultats à gauche |
| right | Aligne les résultats à droite |
| internal | Complète la représentation de la variable avec des espaces complémentaires à une position fixe déterminée par la locale courante. Si cette dernière ne spécifie aucune position de remplissage particulière, le remplissage s’effectue à droite par défaut |
| showbasexe | Indique la base de calcul utilisée |
| noshowbase | N’indique pas la base de calcul utilisée |
| showpoint | Utilise le séparateur de virgule dans les nombres à virgule, même si la partie fractionnaire est nulle |
| noshowpoint | N’utilise le séparateur de virgule que si la partie fractionnaire des nombres flottants est significative |
| showpos | Écrit systématiquement le signe des nombres, même s’ils sont positifs |
| noshowpos | N’écrit le signe des nombres que s’ils sont négatifs |
| uppercase | Écrit les exposants et les chiffres hexadécimaux en majuscules |
| nouppercase | Écrit les exposants et les chiffres hexadécimaux en minuscules |
| unitbuf | Effectue une opération de synchronisation du cache géré par le tampon du flux après chaque écriture |
| nounitbuf | N’effectue les opérations de synchronisation du cache géré par le tampon du flux que lorsque cela est explicitement demandé |
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
cout << "On affiche le booléen true sous forme textuelle: tt";
cout << boolalpha << true << endl;
cout << "On repasse en mode binaire pour ";
cout << "afficher le booléen false: t";
cout << noboolalpha << false << endl;
cout << "Hex permet aussi d’afficher les booléens ";
cout << "en mode binaire: t";
cout << hex << false << endl;
cout << "On écrit le nombre 63 en hexadécimal: tttt";
cout << hex << 63 << endl;
cout << "En majuscules: ttttttt";
cout << uppercase << 63 << endl;
cout << "On repasse en base 10 pour afficher 63: ttt";
cout << dec << 63 << endl;
cout << "Avec le signe: ttttttt";
cout << showpos << 63 << endl;
cout << "On affiche un flottant sur 15 caractères minimum, n";
cout << "en remplissant les vides avec des *: ttt";
cout << setfill(‘*’) << setw(15) << 3.151592 << endl;
cout << "On recommence avec un alignement à gauche,n";
cout << "sans le signe: tttttt";
cout << left << noshowpos << setw(15) << 3.151592 << endl;
}
On affiche le booléen true sous forme textuelle: true On repasse en mode binaire pour afficher le booléen false: 0 Hex permet aussi d’afficher les booléens en mode binaire: 0 On écrit le nombre 63 en hexadécimal: 3f En majuscules: 3F On repasse en base 10 pour afficher 63: 63 Avec le signe: +63 On affiche un flottant sur 15 caractères minimum, en remplissant les vides avec des *: ********+3.15159 On recommence avec un alignement à gauche, sans le signe: 3.15159********
Voici quelques pistes pour faire évoluer ses processus d'impression, et favoriser l'adoption de bonnes pratiques.