|
Программирование >> Инициализация объектов класса, структура
int v1, v2; ... cout << сумма v1 и v2 = ; cout << v1 + v2; cout << \n ; Последовательность \n представляет собой символ перехода на новую строку. Вместо \n м1 можем использовать предопределенный манипулятор endl. cout << endl; Манипулятор endl не просто выводит данные (символ перехода на новую строку), но и производит сброс буфера вывода. (Предопределенные манипуляторы рассматриваются в главе 20.) Операторы вывода можно сцеплять. Так, три строки в предыдущем примере заменяются одной: cout << сумма v1 и v2 = << v1 + v2 << \n ; string file name; ... cout << Введите имя файла: ; Для чтения значения из стандартного ввода применяется оператор ввода (>>): cin >> file name; string ifile, ofile; Операторы ввода, как и операторы вывода, можно сцеплять: ... cout << Введите имя входного и водного файлов: ; cin >> ifile >> ofile; Каким образом ввести заранее неизвестное число значений? М1 вернемся к этому string word; вопросу в конце раздела 2.2, а пока скажем, что последовательность инструкций while ( cin >> word ) ... считывает по одному слову из стандартного ввода до тех пор, пока не считаны все слова. Выражение ( cin >> word ) #include <iostream> #include <string> int main () { string word; while ( cin >> word ) cout << Прочитано слово: << word << \n ; cout << Все слова прочитан!! ; выводящей их в cout: Вот первое предложение из произведения Джеймса Джойса Пробуждение Финнегана : I riverrun, past Eve and Adams ~ Если запустить приведенную выше программу и набрать с клавиатуры данное предложение, мы увидим на экране терминала следующее: Прочитано слово: riverrun, Прочитано слово: past Прочитано слово: Eve, Прочитано слово: and Прочитано слово: Adams Все слова прочитаны! (В главе 6 м1 рассмотрим вопрос о том, как убрать знаки препинания из вводим1х слов.) 1.5.1. Файловый ввод/вывод Библиотека iostream поддерживает и файловый ввод/вывод. Все операции, нрименим1е в стандартному вводу и выводу, могут быть также применены к файлам. Чтобы использовать файл для ввода или вывода, мы должны включить еще один заголовочный файл: #include <fstream> Перед тем как открыть файл для вывода, необходимо объявить объект типа ofstream: ofstream outfile( name-of-file ); Проверить, удалось ли нам открыть файл, можно следующим образом: возвращает false, когда достигнут конец файла. (Подробнее об этом - в главе 20.) Вот пример простой законченной программы, считывающей по одному слову из cin и if ( ! outfile ) false, ес файл не открыт cerr << Сшибка открытия файла.\n ifstream infile( name-of-file ); Так же открывается файл и для ввода, только он имеет тип ifstream: if ( ! infile ) false, если файл не открыт ибка открытия файла.\n Ниже приводится текст простой программ:, которая читает файл с именем in file и выводит все прочитанные из этого файла слова, разделяя их пробелом, в другой файл, #include <iostream> #include <fstream> #include <string> int main() ifstream infile( in file ); ofstream outfile( out file ); if ( ! infile ) { cerr << Сшибка открытия входного файла.\n return -1; if ( ! outfile ) { cerr << ибка открытия в1ходного файла.\n return -2; названный out file. string word; while ( infile >> word ) outfile << word << ; return 0; В главе 20 библиотека ввода/вывода будет рассмотрена подробно. А в следующих разделах мы увидим, как можно создавать новые типы данных, используя механизм классов и шаблонов.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |