Какова логическая роль числа? Обычно вы определяете
манипулятор, имя которого основано на логической роли, и использовать его Может быть
что-то вроде:
class serialno
{
int myWidth;
public:
serialno( int width ) : myWidth( width ) {}
friend std::ostream& operator<<(
std::ostream& stream, serialno const& manip )
{
stream.fill( '0' );
stream.width( myWidth );
return stream;
}
};
Вы можете написать:
std::cout << serialno( 4 ) << myNumber;
(Лучшая реализация сохранит состояние форматирования потока,
и восстановить его в деструкторе, вызванном в конце полного
выражение.)
Чтобы поместить это в массив символов, вы, конечно, используете
std::ostringstream
, а не std::cout
.