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



Библиотека iostream - часть 2


<< x

перемещает данные из x. (В разделе 20.1 мы покажем, как библиотека iostream поддерживает ввод данных, а в разделе 20.5 – как расширить ее для ввода данных новых типов. Аналогично раздел 20.2 посвящен поддержке вывода, а раздел 20.4 – расширению для вывода данных определенных пользователем типов.)

Помимо чтения с терминала и записи на него, библиотека iostream поддерживает чтение и запись в файлы. Для этого предназначены следующие классы:

  • ifstream, производный от istream, связывает ввод программы с файлом;
  • ofstream, производный от ostream, связывает вывод программы с файлом;
  • fstream, производный от iostream, связывает как ввод, так и вывод программы с файлом.
  • Чтобы использовать часть библиотеки iostream, связанную с файловым вводом/выводом, необходимо включить в программу заголовочный файл

    #include <fstream>

    (Файл fstream уже включает iostream, так что включать оба файла необязательно.) Файловый ввод/вывод поддерживается теми же операторами:

    #include <fstream>

    #include <string>

    #include <vector>

    #include <algorithm>

    int main()

    {

       string ifile;

       cout << "Введите имя файла для сортировки: ";

       cin >> ifile;

       // сконструировать объект класса ifstream для ввода из файла

       ifstream infile( ifile.c_str() );

       if ( ! infile ) {

          cerr << "ошибка: не могу открыть входной файл: "

               << ifile << endl;

          return -1;

       }

       string ofile = ifile + ".sort";

       // сконструировать объект класса ofstream для вывода в файл

       ofstream outfile( ofile.c_str() );

       if ( ! outfile) {

          cerr << "ошибка: не могу открыть выходной файл: "

               << ofile << endl;

          return -2;

       }

       string buffer;

       vector< string, allocator > text;

       int cnt = 1;

       while ( infile >> buffer ) {

             text.push_back( buffer );

             cout << buffer << (cnt++ % 8 ? " " : "\n" );




    Содержание  Назад  Вперед