Язык программирования C++ от Страуструпа

       

Выравнивание полей


С помощью обращений к 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 (внутренний), то символы добавляются между знаком и величиной. Как видно, стандартным является выравнивание вправо.



Содержание раздела