c++ - create - cout Formateo




timestamp in mongodb (3)

Estoy bastante seguro de que esta es una pregunta simple en cuanto al formato, pero esto es lo que quiero lograr:

Quiero enviar datos a la pantalla usando cout. Quiero imprimir esto en forma de un formato de tabla. Lo que quiero decir con esto es que las columnas y las filas deben alinearse correctamente. Ejemplo:

Test                 1
Test2                2
Iamlongverylongblah  2
Etc                  1

Solo me preocupa la línea individual, por lo que mi línea de salida ahora (no funciona) es

cout << var1 << "\ t \ t" << var2 << endl;

Lo que me da algo como:

Test                 1
Test2                  2
Iamlongverylongblah         2
Etc                  1

Aconsejo el uso de Boost Format . Usa algo como esto:

cout << format("%|1$30| %2%") % var1 % var2;

Debe encontrar la longitud de la cadena más larga en la primera columna. Luego necesita dar salida a cada cadena en la primera columna en un campo cuya longitud es la de esa cadena más larga. Esto necesariamente significa que no puede escribir nada hasta que haya leído todas y cada una de las cadenas.


Setw .

#include <iostream>
#include <iomanip>
using namespace std;

int main () {
  cout << setw(21) << left << "Test"    << 1 << endl;
  cout << setw(21) << left << "Test2"   << 2 << endl;
  cout << setw(21) << left << "Iamlongverylongblah"     << 2 << endl;
  cout << setw(21) << left << "Etc"     << 1 << endl;
  return 0;
}




format