Бьерн Страуструп.
Язык программирования С++
270
1234 1234 2322 2322 4d2 4d2
Если появится необходимость указывать систему счисления для каждого выдаваемого числа, следует
установить флаг showbase. Поэтому, добавив перед приведенными выше обращениями
cout.setf(ios::showbase);
мы получим
1234 1234 02322 02322 0x4d2 0x4d2
Стандартные манипуляторы, приведенные в $$10.4.2.1, предлагают
более элегантный способ
определения системы счисления при выводе целых.
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 (внутренний), то символы
добавляются между знаком и
величиной. Как видно, стандартным является выравнивание вправо.
Достарыңызбен бөлісу: