Next: Gestion de fichiers Up: Les entrées-sorties Previous: Les entrées-sorties

Formattage des données

les noms hex, dec et oct permettent respectivement d'afficher des nombres en base 16, 10 et 8. la fonction setw(int) définie dans la bibliothèque iomanip.h permet d'attribuer une longueur d'affichage (attention, fonction non persistante). Dans la classe ios, la fonction setf(int) permet de positionner des attributs de formattage par l'intermédaire de constantes passés en paramètre à la fonction setf. On trouve les constantes suivantes : left qui aligne à gauche les données en sortie, right qui aligne à droite les données en sortie, uppercase qui affiche les chiffres hexadécimaux en majuscule, et skipws qui ignore les blancs en entrée. Ces attributs sont désactivés par la commande unsetf(int) ou par une commande setf avec un attribut contradictoire (left et right). Tous ces attributs appartiennent au type ios et doivent être préfixés par 'ios::'.


#include <iostream.h>
#include <iomanip.h>
int main(void) {
  int i=15 ;
  cout << hex << i << i << dec << i ; // affiche ff15
  cout << endl ;
  cout.setf(ios::right) ;
  cout << setw(5) << i << i ; // affiche '   1515'
  cout << endl ;
  cout.setf(ios::uppercase) ;
  cout << hex << i ; // affiche 'F'
  cout.unsetf(ios::uppercase) ;
  cout << i << dec ; // affiche 'f' ;
  return 0 ;
}

@
vendredi, 7 novembre 1997, 14:51:48 MET