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 не закрыты, не стоит ";".