Читайте также: |
|
Об'єкт cout направляє дані в буфер-потік, пов'язаний з об'єктом stdout, оголошеним у файлі stdio.h. За замовчуванням стандартні потоки С і С++ синхронізовані.
При виведенні дані можуть бути відформатовані за допомогою функцій-членів класу або маніпуляторів. Перелік їх наведено в табл. 4.
Маніпулятори, що починаються з приставки "no" (noshowpos і т. п.) мають зворотню дію по відношенню до маніпуляторам з такими ж іменами, але без "no". У графі "Опис" у таких маніпуляторів поставлені прочерки.
Таблиця 4. Маніпулятори і функції стандартного введення/виведення в С++
Маніпулятори | Функції-члени класу | Опис |
showpos | setf (ios:: showpos) | Видає знак плюс у виведених позитивних чисел |
noshowpos | unsetf (ios:: showpos) | - |
showbase | setf (ios:: showbase) | Видає базу системи числення в виведеному числі у вигляді префікса |
noshowbase | unsetf (ios:: showbase) | - |
uppercase | setf (ios:: uppercase) | Замінює символи нижнього регістра на символи верхнього регістру у вихідному потоці |
nouppercase | unsetf (ios:: uppercase) | - |
showpoint | setf (ios:: showpoint) | Створює символ десяткової крапки в створеному потоці з плаваючою точкою (в виведеному числі) |
noshowpoint | unsetf (ios:: showpoint) | - |
boolalpha | setf (ios:: boolalpha) | Перекладає булевий тип в символьний |
noboolalpha | unsetf (ios:: boolalpha) | - |
unitbuf | setf (ios:: unitbuf) | Скидає буфер виводу після кожної операції вивода |
nounitbuf | unsetf (ios:: unitbuf) | - |
internal | setf (ios:: internal, ios:: adjustfield) | Додає символи-заповнювачі до певним внутрішнім позиціях вихідного потоку (йдеться про виведення числа у вигляді потоку символів). Якщо такі позиції не визначені, потік не змінюється |
left | setf (ios:: left, ios:: adjustfield) | Додає символи-заповнювачі з кінця числа (зрушуючи число вліво) |
right | setf (ios:: right, ios:: adjustfield) | Додає символи-заповнювачі з початку числа (зрушуючи число вправо) |
dec | setf (ios:: dec, ios:: basefield) | Перекладає базу вводяться або виводяться цілих чисел у десяткову (введені після цього маніпулятора дані будуть виводитися як десяткові) |
hex | setf (ios:: hex, ios:: basefield) | Перекладає базу вводяться або виводяться цілих чисел в шістнадцяткову (введені після цього маніпулятора дані будуть виводитися як шістнадцяткові) |
oct | setf (ios:: oct, ios:: basefield) | Перекладає базу вводяться або виводяться цілих чисел у вісімкову (введені після цього маніпулятора дані будуть виводитися як вісімкові) |
fixed | setf (ios:: fixed, ios:: floatfield) | Перекладає вихід з плаваючою крапкою в вихід з фіксованою точкою |
scientific | setf (ios:: scientific, ios:: floatfield) | Видає числа з плаваючою точкою у вигляді, використовуваному в наукових цілях: наприклад, число 23450000 буде записано як: 23.45e6 |
setbase (int base) | Перетворює введення цілих чисел в тип base, де параметр base може бути одним з чисел 8, 10 або 16 | |
fill (c) | setfill (char_type c) | Задає символ заповнення при виведенні даних |
precision (n) | setprecision (int n) | Задає точність виведення даних (кількість цифр після крапки) |
setw (int n) | width (n) | Задає ширину поля для виведених даних (кількість символів) |
endl | Вставляє символ нового рядка ('\n') у вихідну послідовність символів і скидає буфер введення | |
ends | Вставляє символ '\0' в вихідну послідовність символів | |
flush | flush () | Скидає буфер виведення ws Задає пропуск пробілів при введенні |
Значення за замовчуванням:
- precision () - 6;
- width () - 0;
- fill () - пробіл.
Наведемо приклад програми із застосуванням об'єкта cout (лістинг 14).
Усі пояснення ви можете знайти в коментарях. Результат роботи програми представлений на рис. 4.
Дата добавления: 2015-07-10; просмотров: 151 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Робота з бінарним файлом | | | РАЗМЕР: 16 страниц Word |