Ребят, а подскажите пожалуйста, почему вот такой код не верно работает, либо опять же я сделал ошибку?
#include <iostream>
#include <iomanip>
int main()
{
long pop1=100, pop2=200, pop0=500;
std::cout.setf(std::ios_base::left);
std::cout<<std::setw(11)<<"gorod";
std::cout.setf(std::ios_base::right);
std::cout<<std::setw(40)<<"naselenie"<<std::endl;
std::cout.setf(std::ios_base::left);
std::cout<<std::setw(11)<<"Moskva";
std::cout.setf(std::ios_base::right);
std::cout<<std::setw(40)<<pop0<<std::endl;
std::cout.setf(std::ios_base::left);
std::cout<<std::setw(11)<<"Piter";
std::cout.setf(std::ios_base::right);
std::cout<<std::setw(40)<<pop2<<std::endl;
std::cout.setf(std::ios_base::left);
std::cout<<std::setw(11)<<"Vladivostok";
std::cout.setf(std::ios_base::right);
std::cout<<std::setw(40)<<pop1<<std::endl;
return 0;
}
Вывод с него получаю вот такой:
gorod naselenie
Moskva 500
Piter 200
Vladivostok 100
Как можно наблюдать только слово город выравнивается по левому краю, остальное все справа.
Даже не знаю как спросить об этом google.
Способ с локалями конечно интересный. Да и как понял локаль обозначает кодировку в которой будет производиться вывод. В моем случае с кодировкой все ок. Вот если под Windows переписывать прогу буду, тогда может и озадачусь.
завтра попробую переписать ее на с, может в нем получится сделать так, как положено. Да не ожидал, что простейшее форматирование текста в консоли окажется таким "гемором".
Пользователь решил продолжить мысль 28 Октября 2012, 19:27:48:
Просто не догоняю, почему в изначальной версии программы setw- работает как операция сдвига, а с указанием форматирования после "gorod", начинает работать как надо и выравнивает справа??? бред какой то.
Пользователь решил продолжить мысль 28 Октября 2012, 19:36:16:
Особо интересен момент, что "gorod", не смотря на наличие "setw", встал с лева, а вот после вдруг все норм оказалось и что удивительно он не разбросал "хаотично" вывод, как это было, опять таки, в первой версии!!! Как тогда вообще использовать этот манипулятор и нафига он нужен???
Пользователь решил продолжить мысль 29 Октября 2012, 02:56:40:
Ладно ребят, потупил я потупил и дошло до меня че и как делать, спасибо за внимание, как будет следущая проблема напишу, если не смогу решить самостоятельно.