|
Программирование >> Расширенная версия языка c++
cout Эта функция выводив ояаие флагов формата , м , , void showflags О , , , > ios::fmtflags f; f lagsO; получение мовок флагов формата if(f kipws) cout skipws установленХп ; else cout if(f :left) cou left устаиовленХп ; else cout left Сброшен\n / \. if(f right) cou-;-- right установленХп ; else cout right сброшенХп ; - if(f eternal) cou< internal установленХп ; ., . else cout << internal сброшенХп ; if(f ;dec) cou dec установленХп ; else cout dec сброшенХп ; iff :oct) cout << oct установленХп ; else cout oct сброшенХп ; - if(f :hejt) cou hex установленХп ; else cout hex СброшенХп ; . .. if(f owbase) cout showbase установленХп ; else cout showbase сброшенХп ; if(f owpoint) cout << showpoint установленХп ; else cout showpoint сброшенХп ; if (f showpos) cout showpos установленХп ; else cout showpos сброшенХп ; У yr if(f percase) cou uppercase установленХп ; else cout uppercase СброшенХп ; if(f entificl cou scientific установленХп ; else cout scientific сброшенХп ; if(f fixed) cout fixed установленХп ; .else cout fixed сброшенХп ; if (f nitbuf) cout unitbuf установленХп ; else cout unitbuf сброшенХп ; if(f olalpha) cout boolalpha установленХп ; else cout << boolalpha сброшенХп ; . . u- , В функции ags() объявляется локальная переменная f тип fflags. Если в вашем компиляторе тип данных fmtflags не определен, объявите переменную f типа long. Ниже показан результат выполнения программы: skipwa установлен left сброшен * right сброшен ..... . . ., , internal сброшен , . , dec установлен oct сброшен . hex сброшен Showbase сброшен , . showpoint сброшен , , - showpos сброшен uppercase сброшен . - scientific сброшен fixed сброшен .... unitbuf сброшен boolalpha сброшен skipws установлен i left сброшен right сброшен internal сброшен - - dec установлен oct установлен . hex сброшен showbase установлен showpoint сброшен showpos сброшен uppercase сброшен , : . scientific сброшен fixed установлен unitbuf сброшен boolalpha сброшен . . . , . . 4. В следующей программе проиллюстрирована работа второй версии функции flagsO- Сначала, устанавливая флаги showpos, showbase, oct и right, мы строим маску флагов. Затем с помощью функции flags() для потока cout маска связывается с переменной флагов. С помощью функции showflagsO проверяется правильность установки флагов. (Это та же функция, которая использовалась в предыдущей программе.) - г ♦include <iostream> -. using namespace std; > void showflags(); int main отображение состояния флагов формата по умолчанию showflags() ; устанавливаются флаг wpos, showbase, cct и right; остальные сбрасываются ios: .fmtflags f showpos showbase ios:; oct I ios::right; cout. flags (f) ; установка флагов -.я-.- showflagsi return 0; Упразкнения 1. Напишите программу, которая бы устанавливала флаги для потока cout так, чтобы целые, если они выводились со знаком +. что ваш набор флагов формата правилен. 2. Напишите программу, которая бы устанавливала флаги для потока cout так, чтобы всегда выводе дробных значений были показаны десятичные точки. Кроме этого, значения с плавающей точкой должны выводиться в научной нотации с символом Е в верхнем регистре. 3. Напишите программу, которая сохраняет текущее состояние флагов формата, устанавливает флаги showbase и hex, выводит на экран значение 100, а затем возвращает флаги в исходное состояние. 8.3. Функции rec/s/onf; и fill(} Кроме флагов формата в классе ios определены три функции-члена. Эти функции устанавливают следующие параметры формата: ширину поля, точность и символ заполнения. Этими функциями являются соответственно функци th(), precisionO и filJ(). По умолчанию при выводе любого значения оно занимает столько позиций, сколько символов выводится. Однако с помощью функции HidthO можно задать минимальную ширину поля. Ниже показан прототип этой функции: streamsize width(streamsize w) ; Ширина поля задается параметром w. а функция возвращает предыдущую ширину поля. Тип данных streamsize определен в заголовочном файле
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |