1.5.1. Файловый ввод/вывод
1.5.1. Файловый ввод/вывод
Библиотека iostream поддерживает и файловый ввод/вывод. Все операции, применимые в стандартному вводу и выводу, могут быть также применены к файлам. Чтобы использовать файл для ввода или вывода, мы должны включить еще один заголовочный файл:
#include fstream
Перед тем как открыть файл для вывода, необходимо объявить объект типа ofstream:
ofstream outfile("name-of-file");
Проверить, удалось ли нам открыть файл, можно следующим образом:
if ( ! outfile ) // false, если файл не открыт
cerr "Ошибка открытия файла. "
Так же открывается файл и для ввода, только он имеет тип ifstream:
ifstream infile("name-of-file");
if ( ! infile ) // false, если файл не открыт
cerr "Ошибка открытия файла. "
Ниже приводится текст простой программы, которая читает файл с именем in_file и выводит все прочитанные из этого файла слова, разделяя их пробелом, в другой файл, названный out_file.
#include iostream
#include fstream
#include string
int main()
{
ifstream infile("in_file");
ofstream outfile("out_file");
if ( ! infile ) {
cerr "Ошибка открытия входного файла. ";
return -1;
}
if ( ! outfile ) {
cerr "Ошибка открытия выходного файла. ";
return -2;
}
string word;
while ( infile word )
outfile word ;
return 0;
}
В главе 20 библиотека ввода/вывода будет рассмотрена подробно. А в следующих разделах мы увидим, как можно создавать новые типы данных, используя механизм классов и шаблонов.
2014-04-07 23:08:15 Андрей
Клас дякую все зрозумыло ы легко запам`ятовується
2014-01-06 16:23:31 adil
thank you спасибо тебе хорошая статья думаю что все сдесь понятно с++ это самая стандартный Язык программирование спасибо за статию
2014-01-05 20:54:54 Djo
Зачётная глава! Решил c php перейти на c++. Всё понятно и без флуда.
2013-10-31 19:48:46 Дима
Почему в двух последних программах нет строчки namespace std;????? Я, как начинающий, никогда бы не понял как написать эти программы, если бы не пользовался другими источниками.
2012-09-05 09:19:51 Вася
Вот http://www.microsoft.com/ru-ru/download/details.aspx?id=12187 Или вот вебинсталлер http://download.microsoft.com/download/4/0/6/4067968E-5530-4A08-B8EC-17D2B3F02C35/vs_ultimateweb.exe
2012-09-04 18:28:41 Daulet
Кто-нибудь подскажите где можно скачать Microsoft Visual c++?
2012-08-29 10:51:01 Noisee
Спасибо за описание. Уважаемый автор, дополните примеры строкой using namespace std; Без этого собираться не будет.. Влад, поставь себе виртуалбокс, установи туда линукс (к примеру дебиан 6.05 - на данный момент последний). Потом погугли "c++ helloworld linux" и "с++ makefile". Думаю многие вопросы сами собой отпадут, когда сделаешь это. Удачи!
2012-07-19 01:21:35 Мишуил
Грамотно написано. Очень приятно, что есть еще хорошие статьи и авторы. Все доходчиво и понятно. 5+
2012-07-19 01:19:03 Мишуил
Влад, это не для тебя. Не заморачивайся этой тупой фигнёй - иди лучше дом2 посмотри.
2012-07-10 16:33:42 влад
я нихера не понял...и потскажите с++ надо скачивать иль он уже есть и если есть то как его найти и запустить
2012-06-17 14:05:38 RUSLAN
Какие книги предлогаете для начинающих? Иногда у меня не хватает логики для решении задач. Чтобы понимать и логику развивать в этой программирвание что надо делать?
2012-05-29 23:09:10 Иван
Как написать программу для поиска телефонных номеров на странице интернет версии газеты Aviso и других?У меня есть Exel файл с номерами,которые нужно исключить(выделить).
2012-03-11 18:28:36 Стёпа
Всё ништяк, хороший учебник ! мне понравился всё работает (если чтото-когдато не понимаешь погугли)
2012-02-29 10:31:39 Владимир
Хорошая статья Народ,у кого все получается и все примеры работают выложите пжлста проги которыми сами пользуетесь
2012-02-15 08:54:21 Павел
К сожалению, у меня почему-то не работает пример простой законченной программы из пункта 1.5. При пошаговой отладке выяснилось, что программа зацикливается в цикле while. После полного прочтения строки она заново предлагает ввести строку, а не выводит сообщение, что все слова прочитаны. Использую Visual C++ 2008 Express edition
2012-01-11 22:25:59 Артур
Чётко но пока поучу еще php
2011-11-08 10:36:18 Николай
Дмитрий, после подключения include объявите стандартное пространство имён: using namespace std;
2011-10-19 15:37:14 Дмитрий
у меня visual C++ express edition, не работает cout пишет не обьявленный идентификатор, iostream был подключен
2011-10-18 03:34:20 ииисус
почему после инклудов нет using namespace std; ? qt, например, ругается при определении string
2011-09-28 18:36:04 Дмитриц
В последней программе две ошибки. Строки, в которых используется cerr не закрыты, не стоит ";".
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Глава 4 Файлы и файловый ввод/вывод
Глава 4 Файлы и файловый ввод/вывод Данная глава описывает базовые файловые операции: открытие и создание файлов, чтение и запись в них, перемещение в них и их закрытие. По ходу дела она представляет стандартные механизмы для обнаружения ошибок и сообщений о них. Глава
4.4. Ввод и вывод
4.4. Ввод и вывод Все операции Linux по вводу/выводу осуществляются посредством дескрипторов файлов. Данный раздел знакомит с дескрипторами файлов, описывает, как их получать и освобождать, и объясняет, как выполнять с их помощью
Ввод и вывод
Ввод и вывод Также мне кажется очень важным, чтобы мои результаты подпитывались соответствующим «вводом». Написание программного кода – творческая работа. Обычно мои творческие способности в наибольшей степени проявляются тогда, когда я сталкиваюсь с творческим
5.4. Стандартный ввод/вывод
5.4. Стандартный ввод/вывод 5.4.1. Потоки ввода-вывода Когда программа запускается на выполнение, в ее распоряжение предоставляются три потока (или канала): • стандартный ввод (standard input или stdin). По этому каналу данные передаются программе; • стандартный вывод (standard output или
2.2.3.2 Асинхронный ввод-вывод
2.2.3.2 Асинхронный ввод-вывод Для ускорения операций ввода-вывода сервер использует собственный пакет асинхронного ввода-вывода (AIO) или пакет асинхронного ввода-вывода ядра ОС (KAIO), если он доступен. Пользовательские запросы на ввод-вывод обрабатываются асинхронно,
2.1.4. Стандартный ввод-вывод
2.1.4. Стандартный ввод-вывод В стандартной библиотеке языка С определены готовые потоки ввода и вывода (stdin и stdout соответственно). Они используются функциями scanf(), printf() и целым рядом других библиотечных функций. Согласно идеологии UNIX, стандартные потоки можно
Ввод и вывод
Ввод и вывод Функции ввода и вывода в стандартной библиотеке Си позволяют читать данные из файлов или получать их с устройств ввода (например, с клавиатуры) и записывать данные в файлы, или выводить их на различные устройства (например, на принтер).Функции ввода/вывода
1.5.1. Файловый ввод/вывод
1.5.1. Файловый ввод/вывод Библиотека iostream поддерживает и файловый ввод/вывод. Все операции, применимые в стандартному вводу и выводу, могут быть также применены к файлам. Чтобы использовать файл для ввода или вывода, мы должны включить еще один заголовочный файл:#include
17.5.1. Виртуальный ввод/вывод
17.5.1. Виртуальный ввод/вывод Первая виртуальная операция, которую мы хотели реализовать, - это печать запроса на стандартный вывод либо в файл:ostream& print( ostream &os = cout ) const;Функцию print() следует объявить виртуальной, поскольку ее реализации зависят от типа, но нам нужно
Ввод/вывод
Ввод/вывод Как вы знаете, операторы << и >> выполняют сдвиг числового значения влево и вправо на опеределенное число бит. В программах, приведенных в нашей книге, эти операторы также используются для ввода информации с клавиатуры и вывода на экран.Если с левой стороны
5.7. Файловый ввод–вывод
5.7. Файловый ввод–вывод При вызове команд можно указывать, откуда следует принимать входные данные и куда необходимо направлять выходные данные, а также сообщения об ошибках. По умолчанию, если не указано иное, подразумевается работа с терминалом: данные вводятся с
Ввод и вывод
Ввод и вывод Два класса библиотеки KERNEL обеспечивают основные средства ввода и вывода: FILE и STD_FILES.Среди операций, определенных для объекта f типа FILE, есть следующие:create f.make ("name") -- Связывает f с файлом по имени name.f.open_write -- Открытие f для записиf.open_read -- Открытие f для