Бьерн Страуструп - Язык программирования С++. Главы 9-10 Страница 33. Выравнивание полей
|
Страница 33 из 44
10.4.1.5 Выравнивание полейС помощью обращений к setf() можно управлять расположением символов в пределах поля:
cout.setf(ios::left,ios::adjustfield); // влево cout.setf(ios::right,ios::adjustfield); // вправо cout.setf(ios::internal,ios::adjustfield); // внутреннее
Будет установлено выравнивание в поле вывода, определяемом функцией ios::width(), причем не затрагивая других компонентов состояния потока. Выравнивание можно задать следующим образом:
cout.width(4); cout << '(' << -12 << ")\n";
cout.width(4); cout.setf(ios::left,ios::adjustfield); cout << '(' << -12 << ")\n";
cout.width(4); cout.setf(ios::internal,ios::adjustfield); cout << '(' << -12 << "\n";
что выдаст
( -12) (-12 ) (- 12)
Если установлен флаг выравнивания internal (внутренний), то символы добавляются между знаком и величиной. Как видно, стандартным является выравнивание вправо.
|