2010-11-07 10 views
3

Possible en double:
Print leading zeros with C++ output operator (printf equivalent)?nombre préfixer avec 0 de

#include <iostream> 
#include <iomanip> 
int main() 
{ 
    int n = 16; 
    std::cout << ???(5) << n << std::endl; 
} 

Je veux que la sortie soit 00016
setw() précèder avec des espaces. N'est-il pas configurable quels caractères ajouter avec setw()?

Mon objectif éventuel est d'imprimer un nombre hexadécimal de 2 octets sur 4 positions. Quelque chose comme ceci:

#include <iostream> 
#include <iomanip> 
int main() 
{ 
    unsigned short n = 0xA7; 
    std::cout << std::hex << ???(4) << n << std::endl; 
} 

et je me attends à cette sortie obtenir: 00A7

+0

@paxdiablo: Oui, vous avez raison, c'est un doublon. Désolé, votez pour fermer –

Répondre

5

Vous devez également setfill('0').

+0

merci! et '???' sera 'setw()' –

Questions connexes