Табуляция в консоле

264
17 февраля 2018, 22:48

Уже комп виснет от вкладок, а я никак не пойму, как сделать нормальную табуляцию в консоле. Код для примера:

cout << "name" << "\t[" << "12:10:10" << "] ";
cout << "\t[" << "qwe" << "]";
cout << "\t<" << "name" << "> : " << "message" << endl;
cout << "name2" << "\t[" << "12:10:10" << "] ";
cout << "\t[" << "rqwqsvdwdfqweqr" << "]";
cout << "\t<" << "name" << "> : " << "message" << endl;

Ожидаемый вывод:

name            [12:10:10]      [qwe]                  <name> : message
name2           [12:10:10]      [rqwqsvdwdfqweqr]      <name> : message

Полученный вывод:

 name            [12:10:10]      [qwe]   <name> : message
 name2           [12:10:10]      [rqwqsvdwdfqweqr]       <name> : message

Уже пробовал обычные табуляторы \t, вертикальные табуляторы \v (которые так и не понял как работают), использовал setw(), но ничего не выходит. Можно, конечно, вручную считать длину имени в скобках, и в зависимости от размера давать либо \t либо \t\t, либо \t\t\t, но неужели нельзя всё это сделать проще?

Answer 1

Устанавливаете выравнивание по левому краю setiosflags(ios::left) и указываете ширину setw(10).

#include "iostream"
#include <iomanip> 
using namespace std;
int main()
{
    cout << setiosflags(ios::left);
    cout << setw(10) << "name"; 
    cout << setw(15) << "[12:10:10]";
    cout << setw(20) << "[qwe]";
    cout << "<name> : message" << endl;
    cout << setw(10) << "name2"; 
    cout << setw(15) << "[12:10:10]";
    cout << setw(20) << "[rqwqsvdwdfqweqr]";
    cout << "<name> : message" << endl;
    return 0;
}
READ ALSO
освобождение памяти с++

освобождение памяти с++

есть функция в ней я выделяю память под массив x, провожу вычисления, далее возвращаю

223
логическая ошибка в операторе функтора

логическая ошибка в операторе функтора

Мне нужно чтобы строка представляла рациональное число произвольной длины, а для этого пытаюсь исключать любой попавший там ненужный символЯ...

207
Создать Java Обновление программы

Создать Java Обновление программы

Всем приветСкажите пожалуйста как сделать обновление программы JavaFX desktop? Делать обновления с Ftp

263
Maven подключение конфигурационных файлов для Spring

Maven подключение конфигурационных файлов для Spring

Привет на данный момент структура моего проекта выглядит так

255