Функції. Клас ios містить набір функцій, за допомогою яких можна виставляти прапори форматування і виконувати деякі інші дії
Клас ios містить набір функцій, за допомогою яких можна виставляти прапори форматування і виконувати деякі інші дії. Таблиця 4 містить більшість цих функцій крім тих, які обробляють помилки.
Таблиця 4
Функції ios
Функція | Призначення |
ch=fill(); | Повертає символ заповнення (символ, яким заповнюється невикористовувана частина текстового поля, за замовчуванням – пробіл |
fill(ch); | Встановлює символ заповнення |
p=precision(); | Повертає значення точності (число виведених знаків для формату з плаваючою комою) |
precision(p); | Встановлює точність р |
w=width(); | Повертає поточне значення ширини поля (в символах) |
width(w); | Встановлює ширину поточного поля |
setf(flags); | Встановлює прапор форматування (наприклад, ios::left) |
unsetf(flags); | Скидає вказаний прапор форматування |
setf(flags,field); | Очищає поле і встановлює прапори форматування |
Ці функції викликаються для потрібних потокових об’єктів звичайним способом – через крапку. Наприклад, щоб встановити ширину поля 12, можна написати:
cout.width(12);
Наступний вираз робить символом заповнення «*»
cout.fill(‘*’);
Можна використовувати деякі функції, щоб маніпулювати напряму встановленням прапорів форматування. Наприклад, так можна встановити вирівнювання по лівому краю:
cout.setf(ios::left);Т
Щоб відновити попереднє вирівнювання:
cout.unsetf(ios::left);
Версія setf() з двома аргументами використовує другий з них для скидання всіх прапорів вказаного типу. При цьому встановиться прапор, вказаний в якості першого аргументу. Так протіше скинути прапор перед встановленням нового. В таблиці 5 показаний спосіб роботи з цією функцією.
Наприклад:
cout.setf(ios::left,ios::adjustfield)
скидає всі прапори, зв’язані з вирівнюванням тексту, а потім встановлює прапор left для вирівнювання по лівому краю.
Таблиця 5
Версія setf() з двома аргументами
Перший аргумент: прапори, що встановлюються | Другий аргумент: прапори, що скидаються |
dec, oct, hex | basefield |
left, right, internal | adjustfield |
scientific, fixed | floatfield |
З використанням вказаної техніки можна створити спосіб форматованого вводу/виводу не лише з клавіатури на дисплей, але й для файлів.
Дата добавления: 2015-08-26; просмотров: 544;