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;
}
Я советую использовать Формат Повышения. Используйте что-то вроде этого:
cout << format("%|1$30| %2%") % var1 % var2;
Необходимо найти длину самой длинной строки в первом столбце. Тогда необходимо произвести каждую строку в первом столбце в поле с длиной, являющейся той из той самой длинной строки. Это обязательно означает, что Вы ничего не можете записать, пока Вы не считали каждую строку.