Привет!
Есть таблица некоторых строковых переменных (string). Необходимо эту таблицу вывести в адекватном форматированном виде. Проблема заключается в том, что при использовании манипулятора setw () строки, разные по длине, занимают разную ширину поля, а не фиксированную.
#include <string>
#include <iostream>
#include <iomanip>
using namespace std;
int main ()
{
string one = "Один", two = "Два", eight = "Восемь";
cout << setw (10) << one <<endl;
cout << setw (10) << two <<endl;
cout << setw (10) << eight <<endl;
return 0;
}
Ожидаемый вывод:
один
два
восемь
Что выходит на самом деле:
один
два
восемь
Собственно вопрос - почему так? И как всё таки можно выводить строки выровненными - одну под другой?
setlocale (LC_ALL,"");? – VladD Nov 26 '15 at 17:34Кстати, проблем с utf-8 изначально действительно не было. Но через некоторое время, с приходом некоторого обновления или с приходом мною установленной библиотеки, появились проблемы с кириллицей в написанном мною коде. Так что, с gnu компилятором, я думаю, всё нормально, чего не скажешь о моих руках (= – The Cat Nov 26 '15 at 17:46