visual sprintf rellenar poner mostrar izquierda con completar ceros agregar c++ formatting numbers

c++ - sprintf - rellenar con ceros vb



Imprimir ceros a la izquierda con el operador de salida C++? (4)

¿Cómo puedo formatear mi salida en C ++? En otras palabras, ¿cuál es el C ++ equivalente al uso de printf como este?

printf("%05d", zipCode);

Sé que podría usar printf en C ++, pero preferiría el operador de salida << .

¿Usarías lo siguiente?

std::cout << "ZIP code: " << sprintf("%05d", zipCode) << std::endl;


Esto hará el truco:

#include <iostream> #include <iomanip> using namespace std; cout << setw(5) << setfill(''0'') << zipCode << endl; // or use this if you don''t like ''using namespace std;'' std::cout << std::setw(5) << std::setfill(''0'') << zipCode << std::endl;

Los manipuladores de IO más comunes que controlan el relleno son:

  • std::setw(width) establece el ancho del campo.
  • std::setfill(fillchar) establece el carácter de relleno.
  • std::setiosflags(align) establece la alineación, donde alinear es ios :: left o ios :: right.

Use las llamadas setw y setfill :

std::cout << std::setw(5) << std::setfill(''0'') << zipCode << std::endl;


o,

char t[32]; sprintf_s(t, "%05d", 1);

dará salida a 00001 ya que el OP ya quería hacer