Чтение онлайн

на главную - закладки

Жанры

Освой самостоятельно С++ за 21 день.

Либерти Джесс

Шрифт:

\ddd (число в восьмеричном коде) — символ ASCII;

\a — звуковой сигнал (звонок).

Пример выражения вывода строки:

cout << "\aAn error occured\t"

Указанное выражение не только выводит сообщение об ошибке на экран компьютера. но подает предупреждающий звуковой сигнал и выполняет переход к следующей позиции табуляции. С оператором cout используются также манипуляторы. Однако для использования большинства манипуляторов нужно включить в программу файл iomanip.h.

Далее вашему вниманию представлен список манипуляторов, не требующих включения iomanip.h:

flush — очищает буфер вывода;

endl — вставляет символ разрыва строки и очищает буфер вывода;

oct — устанавливает восьмеричное основание для выводимых чисел;

dec — устанавливает десятичное основание для выводимых чисел;

hex — устанавливает шестнадцатеричное основание для выводимых чисел.

А теперь приведем набор манипуляторов, для которых необходимо включение iomanip.h:

setbase (основание) — устанавливает основание для выводимых чисел (0 = десятичная, 8 = восьмеричная, 10 = десятичная, 16 = шестнадцатеричная);

setw (ширина) — устанавливает минимальную ширину поля вывода;

setfill (символ) — устанавливает символ заполнения незанятых позиций поля вывода;

setprecision (точность) — устанавливает число знаков после плавающей запятой; setiosflags (флаг) —устанавливает один или несколько флагов;

resetiosflags (флаг) — сбрасывает один или несколько флагов.

Например, в строке

cout << setw(12) << setfill ("#') << hex << x <<endl;

устанавливается ширина поля в 12 знаков, символ заполнения #, восьмеричное основание выводимых чисел, после чего выводится значение переменной x, добавляется символ разрыва строки и очищается буфер. Все манипуляторы, за исключением flush, endl и setw, остаются включенными на протяжении всей работы программы, если, конечно, не будут сделаны другие установки. Установка манипулятора setw отменяется сразу же после текущего вывода с объектом cout.

С манипуляторами setiosflags и resetiosflags могут использоваться следующие ювнфлаги:

iоs::left — выравнивает данные по левому краю поля вывода;

ios::right — выравнивает данные по правому краю поля вывода;

ios::interval — выравнивает данные по ширине поля вывода;

ios::dec — выводит данные в десятичном формате;

ios::oct — выводит данные в восьмеричном формате;

ios::hex — выводит данные в шестнадцатеричном формате;

ios::showbase — добавляет префикс 0x к шестнадцатеричным значениям и О к восьмеричным значениям;

ios::showpoint — заполняет нулями недостающие знаки в значениях заданной длины;

ios::uppercase — отображает

в верхнем регистре шестнадцатеричные и экспоненциальные значения;

ios::showpos — добавляет знак '+' перед положительными числами;

ios::scientific — отображает числа с плавающей запятой в экспоненциальном представлении;

ios::fixed — отображает числа с плавающей запятой в шестнадцатеричном представлении.

Дополнительную информацию можно получить из файла ios.h или из справочной системы компилятора.

Использование файлов для ввода и вывода данных

Потоки C++ обеспечивают универсальные методы обработки данных, поступающих с клавиатуры или диска, а также выводимых на экран и диск. В любом случае можно использовать либо операторы ввода и вывода, либо другие стандартные функции и манипуляторы. Дальнейшие разделы главы посвящены операциям открытия и закрытия файлов, которые сопровождаются созданием объектов ifstream и ofstream.

Объекты ofstream

Объекты, создаваемые для считывания или записи данных в файл, называются ofstream. Они являются производными от уже знакомого вам класса iostream.

Чтобы приступить к записи в файл, нужно сначала создать объект ofstream, а затем связать его с определенным файлом на диске. Использование объектов ofstream требует включения в программу файла заголовка fstream.h.

Примечание:Поскольку fstream содержит в себе iostream.h, нет необходимости в отдельном включении файла iostream.h.

Состояния условий

Объектами iostream поддерживаются флаги, отражающие состояние ввода и вывода. Значение каждого из этих флагов можно проверить с помощью функций, возвращающих TRUE или FALSE: eof, bad, fail и good. Функция eof возвращает значение TRUE, если в объекте iostream встретился символ EOF (end of file — конец файла). Функция bad возвращает значение TRUE при попытке выполнить ошибочную операцию. Функция fail возвращает значение TRUE каждый раз, когда это же значение возвращает функция bad, а также в тех случаях, когда операция невыполнима в данных условиях. Наконец, функция good возвращает значение TRUE, когда все идет хорошо, т.е. все. остальные функции возвращают значение FALSE.

Открытие файлов для ввода-вывода

Для открытия файла myfile.cpp с помощью объекта ofstream нужно объявить экземпляр этого объекта, передав ему в качестве параметра имя файла:

ofstream fout("myfile.cpp");

Открытие файла для ввода выполняется аналогичным образом, за тем исключением, что для этого используется объект ifstream:

ifstream fin("myfile.cpp");

Обратите внимание, что в выражениях задаются имена объектов fout и fin, которые можно использовать так же, как объекты cout и cin соответственно.

Поделиться:
Популярные книги

Мама для дракончика или Жена к вылуплению

Максонова Мария
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Мама для дракончика или Жена к вылуплению

Черный дембель. Часть 2

Федин Андрей Анатольевич
2. Черный дембель
Фантастика:
попаданцы
альтернативная история
4.25
рейтинг книги
Черный дембель. Часть 2

Архил...? Книга 2

Кожевников Павел
2. Архил...?
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Архил...? Книга 2

Мастер Разума IV

Кронос Александр
4. Мастер Разума
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер Разума IV

Дочь опальной герцогини

Лин Айлин
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Дочь опальной герцогини

Эволюционер из трущоб. Том 3

Панарин Антон
3. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
6.00
рейтинг книги
Эволюционер из трущоб. Том 3

Идеальный мир для Лекаря 25

Сапфир Олег
25. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 25

Барон не играет по правилам

Ренгач Евгений
1. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон не играет по правилам

Кодекс Крови. Книга VII

Борзых М.
7. РОС: Кодекс Крови
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга VII

Сержант. Назад в СССР. Книга 4

Гаусс Максим
4. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Сержант. Назад в СССР. Книга 4

Неудержимый. Книга XIV

Боярский Андрей
14. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XIV

Штуцер и тесак

Дроздов Анатолий Федорович
1. Штуцер и тесак
Фантастика:
боевая фантастика
альтернативная история
8.78
рейтинг книги
Штуцер и тесак

Второй кощей

Билик Дмитрий Александрович
8. Бедовый
Фантастика:
юмористическое фэнтези
городское фэнтези
мистика
5.00
рейтинг книги
Второй кощей

Бестужев. Служба Государевой Безопасности. Книга третья

Измайлов Сергей
3. Граф Бестужев
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бестужев. Служба Государевой Безопасности. Книга третья