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