С++ для начинающих

       

Файловый ввод/вывод


Библиотека iostream поддерживает и файловый ввод/вывод. Все операции, применимые в стандартному вводу и выводу, могут быть также применены к файлам. Чтобы использовать файл для ввода или вывода, мы должны включить еще один заголовочный файл:

#include <fstream>

Перед тем как открыть файл для вывода, необходимо объявить объект типа ofstream:

ofstream outfile("name-of-file");

Проверить, удалось ли нам открыть файл, можно следующим образом:

if ( ! outfile ) // false, если файл не открыт

   cerr << "Ошибка открытия файла.\n"

Так же открывается файл и для ввода, только он имеет тип ifstream:

ifstream infile("name-of-file");

if ( ! infile ) // false, если файл не открыт

   cerr << "Ошибка открытия файла.\n"

Ниже приводится текст простой программы, которая читает файл с именем in_file и выводит все прочитанные из этого файла слова, разделяя их пробелом, в другой файл, названный out_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 << "Ошибка открытия выходного файла.\n"

    return -2;

  }

  string word;

  while ( infile >> word )

    outfile << word << ' ';

  return 0;

}

В главе 20 библиотека ввода/вывода будет рассмотрена подробно. А в следующих разделах мы увидим, как можно создавать новые типы данных, используя механизм классов и шаблонов.



Содержание раздела