std::ios_base:: setf
From cppreference.net
|
fmtflags setf
(
fmtflags flags
)
;
|
(1) | |
|
fmtflags setf
(
fmtflags flags, fmtflags mask
)
;
|
(2) | |
Définit les indicateurs de formatage selon les paramètres spécifiés.
1)
Définit les indicateurs de formatage identifiés par
flags
. Effectivement, l'opération suivante est effectuée
fl
=
fl
|
flags
où
fl
définit l'état des indicateurs de formatage internes.
2)
Efface les indicateurs de formatage sous
mask
, et définit les indicateurs effacés à ceux spécifiés par
flags
. Effectivement l'opération suivante est effectuée
fl
=
(
fl
&
~mask
)
|
(
flags
&
mask
)
où
fl
définit l'état des indicateurs de formatage internes.
Table des matières |
Paramètres
| flags, mask | - | nouveau paramètre de formatage. mask définit les drapeaux qui peuvent être modifiés, flags définit quels drapeaux parmi ceux à modifier doivent être activés (les autres seront désactivés). Les deux paramètres peuvent être une combinaison des constantes de drapeaux de formatage |
Indicateurs de formatage
| Constante | Explication |
| dec | utiliser la base décimale pour les E/S entières : voir std::dec |
| oct | utiliser la base octale pour les E/S entières : voir std::oct |
| hex | utiliser la base hexadécimale pour les E/S entières : voir std::hex |
| basefield | dec | oct | hex . Utile pour les opérations de masquage |
| left | alignement à gauche (ajoute des caractères de remplissage à droite) : voir std::left |
| right | alignement à droite (ajoute des caractères de remplissage à gauche) : voir std::right |
| internal | alignement interne (ajoute des caractères de remplissage au point désigné interne) : voir std::internal |
| adjustfield | left | right | internal . Utile pour les opérations de masquage |
| scientific | générer les types à virgule flottante en utilisant la notation scientifique, ou la notation hexadécimale si combiné avec fixed : voir std::scientific |
| fixed | générer les types à virgule flottante en utilisant la notation fixe, ou la notation hexadécimale si combiné avec scientific : voir std::fixed |
| floatfield | scientific | fixed . Utile pour les opérations de masquage |
| boolalpha | insérer et extraire le type bool en format alphanumérique : voir std::boolalpha |
| showbase | générer un préfixe indiquant la base numérique pour la sortie entière, requérir l'indicateur monétaire dans les E/S monétaires : voir std::showbase |
| showpoint | générer un caractère de point décimal inconditionnellement pour la sortie des nombres à virgule flottante : voir std::showpoint |
| showpos | générer un caractère + pour la sortie numérique non négative : voir std::showpos |
| skipws | ignorer les espaces blancs initiaux avant certaines opérations d'entrée : voir std::skipws |
| unitbuf | vider la sortie après chaque opération de sortie : voir std::unitbuf |
| uppercase | remplacer certaines lettres minuscules par leurs équivalents majuscules dans certaines opérations de sortie : voir std::uppercase |
Valeur de retour
Les indicateurs de formatage avant l'appel à la fonction.
Exemple
Exécuter ce code
#include <iomanip> #include <iostream> #include <numbers> int main() { const double PI = std::numbers::pi; const int WIDTH = 15; std::cout.setf(std::ios::right); // équivalent : cout << right; std::cout << std::setw(WIDTH / 2) << "radius" << std::setw(WIDTH) << "circumference" << '\n'; std::cout.setf(std::ios::fixed); // équivalent : cout << fixed; for (double radius = 1; radius <= 6; radius += 0.5) std::cout << std::setprecision(1) << std::setw(WIDTH / 2) << radius << std::setprecision(2) << std::setw(WIDTH) << (2 * PI * radius) << '\n'; }
Sortie :
radius circumference
1.0 6.28
1.5 9.42
2.0 12.57
2.5 15.71
3.0 18.85
3.5 21.99
4.0 25.13
4.5 28.27
5.0 31.42
5.5 34.56
6.0 37.70
Voir aussi
|
gère les indicateurs de format
(fonction membre publique) |
|
|
efface un indicateur de format spécifique
(fonction membre publique) |