Маніпулятори
Маніпулятори – це інструкції форматування, які вставляються безпосередньо в потік. До їх числа відноситься вже знайомий нам endl, який посилає символ розділювача рядків в потік і скидає буфер.
Маніпулятори бувають двох видів – з аргументами і без. В таблиці 2 перелічені важливі маніпулятори без аргументів.
Таблиця 2
Маніпулятори ios без аргументів
Маніпулятор | Призначення |
ws | Включає пропуск пробілів при вводі |
dec | Переведення в десяткову форму |
oct | Переведення у вісімкову форму |
hex | Переведення у шістнадцяткову форму |
endl | Вставка розділювача рядків та очищення вихідного потоку |
ends | Вставка символу відсутності інформації для закінчення вихідного рядка |
flush | Очищення вихідного потоку |
lock | Закрити дескриптор файлу |
unlock | Відкрити дескриптор файлу |
Ці маніпулятори вставляються безпосередньо в потік. наприклад, щоб вивести змінну var у 16-ій формі, слід вказати:
cout<<hex<<var;
Відзначимо, що маніпулятори діють тільки на ті дані, які написані після них, а не на ті, які записані перед ними.
В таблиці 3 представлені найважливіші маніпулятори з аргументами. Для доступу до них потрібний загаловочний файл IOMANIP.
Таблиця 3
Маніпулятори ios з аргументами
Функція | Аргумент | Призначення |
setw() | ширина поля (int) | Встановлює ширину поля для виводу даних |
setfill() | символ заповнення (int) | Встановлює символ заповнення (за замовчуванням пробіл) |
setprecision() | точність (int) | Встановлює точність 9число виведених знаків) |
setiosflags() | Прапори форматування (long) | Встановлює вказані прапори форматування |
resetiosflags() | Прапори форматування (long) | Скидає вказані прапори форматування |
Дата добавления: 2015-08-26; просмотров: 500;