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