Читайте также:
|
|
///////////////////////////////////////////////
// Format.срр: Форматирующие функции-элементы ios.
//
#include <iostream.h>
#pragma hdrstop
#include <condefs.h>
#pragma argsused
int main(int argc, char* argv[])
{
//
// Ширина поля при вводе и выводе.
//
cnar sir [16];
cout<< "Enter something: ";
cin.width(16); // Ввод не более 15 символов. cin>> str;
cout.width(32); // Вывести в поле шириной 32. cout<< str<< "\n\n";
//
// Заполняющий символ и ширина поля. Ширина сбрасывается
// после каждой операции, поэтому она устанавливается
// для каждого числа.
//
int h = 7, m = 9, s = 0; // Выводятся в виде hh:mm:ss.
cout.fill('0'); cout << "Time is ";
cout.width (2); cout << h << ': '; cout.width (2);
cout<< m<< ': ';
cout.width (2);
cout<< s<< ".\n\n";
cout.fill (' '); // Восстановить пробел.
//
// Точность.
//
double d = 3.14159265358979;
float f = 27182.81828;
cout.precision (5);
cout << f << '\n';. // Выводит "27183".
cout << d << '\n'; ' // Выводит "3.1416".
cout.precision (4);
cout << f << '\n'; // Выводит "2.718е+04".
cout.setf(ios::fixed); // Установить флаг fixed.
cout<< f<<'\n'; // Выводит "27182.8184".
return 0;
}
Манипуляторы
Манипуляторы потоков являются по существу функциями, которые можно вызывать непосредственно в цепочке операций извлечения или передачи в поток. Различают простые и параметризованные манипуляторы. У простых манипуляторов аргументы отсутствуют. Параметризованные манипуляторы имеют аргумент.
Ниже приводится сводка имеющихся манипуляторов, как простых, так и параметризованных. Они Перечислены в алфавитном порядке.
Таблица 2. Простые и параметризованные манипуляторы
Манипулятор | Описание |
dec | Задает десятичную базу преобразования. |
end1 | Передает в поток символ новой строки и сбрасывает поток. |
ends | Передает в поток символ завершающего строку нуля. |
flush | Сбрасывает выходной поток. |
hex | Задает шестнадцатеричную базу преобразования. |
lock(ios Sir) | Блокирует дескриптор файла потока ir. |
oct | Задает восьмеричную базу преобразования. |
resetiosflags(int f) | Сбрасывает флаги, биты которых установлены в f. |
setbase(int b) | Устанавливает базу преобразования (0, 8, 10 или 16). |
setiosflags(int f) | Устанавливает флаги, биты которых установлены в f. |
setfill(int c) | Задает символ заполнения (аналогичен функции fiilO). |
setprecision(long p) | Задает точность (аналогичен функции precision ()). |
setw(iong w) | Задает ширину поля (аналогичен функции width ()). |
lunlock(ios &ir) | Разблокирует дескриптор файла для потока ir. |
ws | Исключает начальные пробельные символы. |
Вот пример использования некоторых манипуляторов (мы создали один свой собственный):
Дата добавления: 2015-07-11; просмотров: 100 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Операции извлечения и передачи в поток | | | Листинг 2. Форматирование с помощью манипуляторов |