![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Наиболее изящный способ установки флагов формата (и выполнения других функций для потока) использует специальный механизм, известный как манипуляторы. Подобно операторам << и >> манипуляторы могут включаться в цепочку операторов потока:
cout << setw(7) << dec << i << setw(6) << oct << j;cout << setw(7) << setprecision(4) << endl; //вывод d из пред. примераБез манипуляторов понадобилось бы шесть отдельных предложений.
Параметризованный манипулятор setw принимает один аргумент типа int, чтобы установить ширину поля.
Непараметризованные манипуляторы, например, dec, oct и hex устанавливают систему исчисления для преобразования: десятичную, восьмеричную и шестнадцатеричную. В вышеприведенном примере int i будет выводится на экран в десятичном виде в поле шириной 7; int j будет выводится на экран в восьмеричном виде в поле шириной 6.
К другим простым параметризованным манипуляторам относится setbase, setfill, setprecision, setiosflags и resetiosflags. Чтобы использовать любые из параметризованных манипуляторов, программа должна включить оба заголовочных файла: iomanip.h и iostream.h. Непараметризованные манипуляторы не требуют iomanip.h.
Полезные непараметризованные манипуляторы включают:
· ws (извлечение пробелов): istream >> ws; будет устранять любые пробелы в istream.
· endl (конец строки и очистка буфера): ostream << endl; будет вставлять новую строку в ostream, а затем очищает буфер ostream.
· ends (конец строки с нулем): ostream << ends; будет добавлять 0 в ostream.
· flush (очистка буфера): ostream << flush.
Дата публикования: 2015-01-13; Прочитано: 196 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!