Мне нужно распечатать некоторые данные в консоли. Мой код:C++ setw() не работает как ожидалось
cout << setw(5) << left << "id" << " | " << setw(10) << left << "computer" << " | " << setw(11) << left << "subsystem" << " | " <<
setw(8) << left << "number" << " | " << setw(80) << left << "name" << " | " << setw(13) << left << "config_file" << endl;
for (int i = 0; i < rows; i++)
{
cout << setw(5) << left << subsystem_table_data[i].id << " | " << setw(10) << left << subsystem_table_data[i].computer << " | " <<
setw(11) << left << subsystem_table_data[i].subsystem << " | " << setw(8) << left << subsystem_table_data[i].number << " | " <<
setw(80) << left << subsystem_table_data[i].name << " | " << setw(13) << left << subsystem_table_data[i].config_file << endl;
}
Output (прокрутка вправо, чтобы увидеть):
id | computer | subsystem | number | name | config_file
1 | 1 | 2 | 0 | Computer 1 - Общая компьютерная платформа - 1 | 1
2 | 1 | 1 | 0 | Computer 1 - Launcher - 1 | 2
3 | 1 | 23 | 0 | Computer 1 - Дисплей - 1 | 3
4 | 1 | 11 | 0 | Computer 1 - Контроллер цифровой - 1 | 4
5 | 1 | 21 | 0 | Computer 1 - Отладки - 1 | 5
6 | 2 | 2 | 0 | Computer 2 - Общая компьютерная платформа - 1 | 6
7 | 2 | 1 | 0 | Computer 2 - Launcher - 1 | 7
8 | 2 | 23 | 0 | Computer 2 - Дисплей - 1 | 8
Ожидаемый результат (справа снова):
id | computer | subsystem | number | name | config_file
1 | 1 | 2 | 0 | Computer 1 - Общая компьютерная платформа - 1 | 1
2 | 1 | 1 | 0 | Computer 1 - Launcher - 1 | 2
3 | 1 | 23 | 0 | Computer 1 - Дисплей - 1 | 3
4 | 1 | 11 | 0 | Computer 1 - Контроллер цифровой - 1 | 4
5 | 1 | 21 | 0 | Computer 1 - Отладки - 1 | 5
6 | 2 | 2 | 0 | Computer 2 - Общая компьютерная платформа - 1 | 6
7 | 2 | 1 | 0 | Computer 2 - Launcher - 1 | 7
8 | 2 | 23 | 0 | Computer 2 - Дисплей - 1 | 8
я предлагаю что-то неладно с setw(80) << left << subsystem_table_data[i].name
код, но не может найти проблему. И, насколько я знаю, это происходит не из-за общей ширины консоли, так как первая строка напечатана просто отлично.