Convertir un entero a cadena con formato en C++

Hace un tiempo vimos cómo convertir un entero a cadena en C++.

Ahora, imaginad que queremos darle a un entero el siguiente formato: 00000x.png donde x es el número y queremos el nombre de fichero tenga longitud fija para facilitar la ordenación y visualización de los ficheros.

En este ejemplo vemos como el número 123 se convierte en 000123.png:


#include "iomanip"
#include "iostream"
#include "sstream"

int main()
{
int number = 123;

std::ostringstream ss;
ss << std::setfill('0') << std::setw(6) << number; std::string str = ss.str() + ".png"; std::cout << "str: " << str << 'n'; return 0; }