class DarkRaha extends com { // разработка приложений
            String a="Главная" b="Контакты" c="О сайте"
};

основы С++

STL

реализация STL
обзор
строки
потоки ввода/вывода
Форматирование ввода/вывода
Функции и методы потоков
Файловые потоки
класс vector
очередь
стек
отображения
итераторы
функциональные объекты
алгоритмы (1)
алгоритмы (2)
класс valarray

Справочник по C++ STL

Форматирование ввода/вывода

Форматирование задается битовыми флажками. Управление флажками возможно следующими методами:

Значения флажков задаются следующим вложенным типом


enum fmt_flags { // различные флаги
   boolalpha   = 0x0001, // ввод/вывод булева типа в символьном виде
   dec         = 0x0002, // вывод/ввод целых в десятичном виде
   fixed       = 0x0004, // вывод в плавающей точкой в fixed-point нотации
   hex         = 0x0008, // вывод/ввод целых в шестнадцатиричном виде
   internal    = 0x0010,
   left        = 0x0020, // добавляет символы справа при выводе
   oct         = 0x0040, // вывод/ввод целых в восмиричном виде
   right       = 0x0080, // добавляет символы слева при выводе
   scientific  = 0x0100, // вывод плавающей точке в научной нотации
   showbase    = 0x0200, // отображает префикс основания 
                         // при выводе целых чисел
   showpoint   = 0x0400, 
   showpos     = 0x0800, // отображает + при выводе
   skipws      = 0x1000, // пропускает начальные пробелы при вводе
   unitbuf     = 0x2000, // сбрасывает вывод после каждой операции вывода
   uppercase   = 0x4000, // вывод в верхнем регистре
   adjustfield = left | right | internal, // добавляет символы слева и справа
   basefield   = dec | oct | hex,
   floatfield  = scientific | fixed
                  };
  

манипуляторы

Для простоты изменения флажков также определены манипуляторы. В комментариях указаны соответствующие вызовы через методы setf/unsetf.


ios_base& boolalpha(ios_base& str); // str.setf(ios_base::boolalpha) 
ios_base& dec(ios_base& str); // str.setf(ios_base::dec, ios_base::basefield) 
ios_base& fixed(ios_base& str); // str.setf(ios_base::fixed, ios_base::floatfield) 
ios_base& hex(ios_base& str); // str.setf(ios_base::hex, ios_base::basefield) 
ios_base& internal(ios_base& str); // str.setf(ios_base::internal, ios_base::adjustfield) 
ios_base& left(ios_base& str); // str.setf(ios_base::left, ios_base::adjustfield) 
ios_base& noboolalpha(ios_base& str); // str.unsetf(ios_base::boolalpha) 
ios_base& noshowbase(ios_base& str); // str.unsetf(ios_base::showbase) 
ios_base& noshowpoint(ios_base& str); // str.unsetf(ios_base::showpoint) 
ios_base& noshowpos(ios_base& str); // str.unsetf(ios_base::showpos) 
ios_base& noskipws(ios_base& str); // str.unsetf(ios_base::skipws) 
ios_base& nounitbuf(ios_base& str); // str.unsetf(ios_base::unitbuf)
ios_base& nouppercase(ios_base& str); // str.unsetf(ios_base::uppercase) 
ios_base& oct(ios_base& str); // str.setf(ios_base::oct, ios_base::basefield) 
ios_base& right(ios_base& str); // str.setf(ios_base::right, ios_base::adjustfield) 
ios_base& scientific(ios_base& str); // str.setf(ios_base::scientific, ios_base::floatfield) 
ios_base& showbase(ios_base& str); // str.setf(ios_base::showbase) 
ios_base& showpoint(ios_base& str); // str.setf(ios_base::showpoint) 
ios_base& showpos(ios_base& str); // str.setf(ios_base::showpos) 
ios_base& skipws(ios_base& str); // str.setf(ios_base::skipws) 
ios_base& unitbuf(ios_base& str); // str.setf(ios_base::unitbuf) 
ios_base& uppercase(ios_base& str); // str.setf(ios_base::uppercase) 

/**************************** 
Небольшой пример ввода числа и последующего  
вывода его в десятиченой и шестнадцатричной 
системе.
Для завершения необходимо ввести число 0 
****************************/
#include <iostream>
using namespace std;

int main(){
int k=1;

cout << "Input zero for close\\n";

while(k){
cout<<"input number: ";
cin>>k;
cout<<"dec: "<<k<<hex<<", hex: "<<k<<dec<<endl;
}

return 0;
}

Рейтинг@Mail.ru