cout << “floating-point number is”<< fX<< “\n”; //floating-point number is +355.113000
iFlags= cout.flags(); //получить флаги
if (iFlags & ios::dec)
cout << “integer output uses base 10\n”;
else if(iFlags & ios::hex)
cout << “integer output uses base 16\n”;
else
cout << “integer output uses base 8\n”; // integer output uses base 8
устанавливает флаги формата и возвращает текущие значения формата. Существуют две перегруженные версии этой функции: одна использует маску, другая – нет:
long setf (long iFlags);
long setf (long iFlags, long iMask);
«Немаскированная» версия функцииsetfуправляет флагами формата, которые принимают только одно из двух значений (включено/выключено).
Версия функции- члена setfс маской управляет флагами формата, которые принимают больше двух значений. Параметр iFlags обозначает комбинацию форматных флагов. Параметр iMask определяет маску, которая соответствует форматным флагам.
Значения параметра iMask версии функции- члена setfс маской:
значения параметра iMask |
назначение |
ios::adjustfield |
маска для битов флага дополнения (слева, справа или внутри) |
ios::basefield |
маска для битов флага основания системы счисления (десятичная, восьмеричная, шестнадцатеричная) |
ios::floatfield |
биты маски для флага формата с плавающей точкой (научный или фиксированный) |
Примеры:
cout.setf (ios::hex, ios::basefield); //версия с маской
cout.setf (ios::uppercase); //версия без маски
cout << 15 << “\n”; //выводит F
cout.setf (ios::showbase); //версия без маски
cout.setf (ios::oct, ios::basefield); //версия с маской
cout << 8 << “\n”; //выводит 010
cout.setf (ios::hex, ios::basefield); //версия с маской
cout << 15 << “\n”; //выводит 0xF
int nNum=16 ;
double fx=355.113 ;
long iFlags ;
cout.setf (ios::dec, ios::basefield);
cout <<nNum << “(base 10) =”; //16 (base 10)=
cout.setf (ios::showbase); //версия без маски
cout.setf (ios::hex, ios::basefield); //версия с маской
cout <<nNum << “(base 16) =”; //0x10 (base 16)=
cout.setf (ios::oct, ios::basefield); //версия с маской
cout << nNum << “(base 8) \n”; //020 (base 8)
cout. setf ( ios:: showpos);
cout. setf (ios:: scientific, ios:: floatfield);
cout << “floating-point number is”<< fX<< “\n”; //floating-point number is +3.551130e+002
iFlags= cout.setf(ios:: fixed, ios:: floatfield); //получить флаги
cout << “floating-point number is”<< fX<< “\n”; //floating-point number is +355.113000
if (iFlags & ios::dec)
cout << “integer output uses base 10\n”;
else if(iFlags & ios::hex)
cout << “integer output uses base 16\n”;
else
cout << “integer output uses base 8\n”; // integer output uses base 8
устанавливает значения одного или нескольких флагов по умолчанию и возвращает предыдущие флаги формата:
long unsetf (long iFlags);
Параметр iFlags определяет флаги, которым нужно назначить значения по умолчанию.
Несколько значений параметра iFlags функции unsetf могут объединяться в аргументе операцией | (поразрядного или)
Примеры:
cout.flags (ios::hex | ios::uppercase | ios:: showbase);
cout <<15 << “\n”; //выводит 0хF
cout. unsetf ( ios:: uppercase); //устанавливает флаг верхнего регистра «по умолчанию»
cout <<15 << “\n”; //выводит 0хf
cout. unsetf ( ios:: showbase); //устанавливает флаг системы счисления «по умолчанию»
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.