Главная » Статьи » Мои статьи » С++ для начинающих |
Частью стандартной библиотеки С++ является библиотека iostream,
которая реализована как иерархия классов и обеспечивает базовые возможности
ввода/вывода. Ввод с терминала, называемый стандартным вводом, "привязан” к
предопределенному объекту cin. Вывод на терминал, или стандартный вывод, привязан к объекту cout.
Третий предопределенный объект, cerr,
представляет собой стандартный вывод для
ошибок. Обычно он используется для вывода сообщений об ошибках и
предупреждений. Для использования библиотеки ввода/вывода необходимо
включить соответствующий заголовочный файл: #include <iostream> Чтобы значение поступило в стандартный вывод или в стандартный вывод для ошибок используется оператор <<:
cout << "\n"; Последовательность "\n" представляет собой символ перехода на новую строку. Вместо "\n" мы можем использовать предопределенный манипулятор endl. cout << endl; Манипулятор endl
не просто выводит данные (символ перехода на новую строку), но и производит
сброс буфера вывода. (Предопределенные манипуляторы рассматриваются в главе
20.) Операторы вывода можно сцеплять. Так, три строки в
предыдущем примере заменяются одной: cout << "сумма v1 и v2 =
" << v1 + v2 << "\n"; Для чтения значения из стандартного ввода применяется оператор ввода (>>):
cin >> file_name; Операторы ввода, как и операторы
вывода, можно сцеплять:
// ... cout
<< "Введите имя входного и выходного файлов: "; cin >> ifile >> ofile; Каким образом ввести заранее неизвестное число значений? Мы
вернемся к этому вопросу в конце раздела 2.2, а пока скажем, что
последовательность инструкций
while ( cin >> word ) // ... считывает по одному слову из стандартного ввода до тех пор,
пока не считаны все слова. Выражение ( cin >> word ) возвращает false, когда достигнут конец файла. (Подробнее об этом – в главе 20.) Вот пример простой законченной программы, считывающей по одному слову из cin и выводящей их в cout:
} Вот первое предложение из произведения Джеймса Джойса
"Пробуждение Финнегана”: riverrun, past Eve and Adam's Если запустить приведенную выше программу и набрать с
клавиатуры данное предложение, мы увидим на экране терминала следующее:
Все слова прочитаны! (В главе 6 мы рассмотрим вопрос о том, как убрать знаки
препинания из вводимых слов.) 1.5.1. Файловый ввод/вывод
Библиотека iostream
поддерживает и файловый ввод/вывод. Все операции, применимые в стандартному
вводу и выводу, могут быть также применены к файлам. Чтобы использовать файл
для ввода или вывода, мы должны включить еще один заголовочный файл: #include <fstream> Перед тем как открыть файл для вывода, необходимо объявить объект типа ofstream: ofstream outfile("name-of-file"); Проверить, удалось ли нам открыть файл,
можно следующим образом:
cerr << "Ошибка открытия файла.\n" Так же открывается файл и для ввода, только он имеет тип ifstream:
if ( ! infile ) // false, если файл не открыт
cerr << "Ошибка открытия файла.\n" Ниже приводится текст простой программы, которая читает файл с именем in_file и выводит все прочитанные из этого файла слова, разделяя их пробелом, в другой файл, названный out_file.
string word; while ( infile >> word ) outfile << word << '
'; return 0; } | ||||||||||
Просмотров: 4023 | Комментарии: 2 | | |
Всего комментариев: 2 | |
| |