Язык программирования C++. Вводный курс


Файловый ввод/вывод - часть 3


/p>

}

После компиляции и запуска программа выводит следующее:

A Alice Daddy Emma Her I Shyly a

alive almost asks at beautiful bird blows but

creature fiery flight flowing hair has he her

him in is it like long looks magical

mean more no red same says she shush

such tell tells the there through time to

untamed wanting when wind

 

Объекты классов ofstream и ifstream

разрешено определять и без указания имени файла. Позже к этому объекту можно присоединить файл с помощью функции-члена open():

ifstream curFile;

// ...

curFile.open( filename.c_str() );

if ( ! curFile )  // открытие успешно?

   // ...

Чтобы закрыть файл (отключить от программы), вызываем функцию-член close():

#include <fstream>

 

const int fileCnt = 5;

string fileTabl[ fileCnt ] = {

    "Melville", "Joyce", "Musil", "Proust", "Kafka"

};

 

int main()

{

    ifstream inFile; // не связан ни с каким файлом

 

    for ( int ix = 0; ix < fileCnt; ++ix )

    {

        inFile.open( fileTabl[ix].c_str() );

        // ... проверить успешность открытия

        // ... обработать файл

        inFile.close();

    }

}

Объект класса fstream

(производного от iostream) может открывать файл для ввода или

вывода. В следующем примере файл word.out сначала считывается, а затем записывается с помощью объекта типа fstream. Созданный ранее в этом разделе файл word.out

содержит объект WordCount:

#include <fstream>

#include "WordCount.h"

 

int main()

{

    WordCount wd;

    fstream file;

 

    file.open( "word.out", ios::in );

    file >> wd;

    file.close();

 

    cout << "Прочитано: " << wd << endl;

 

    // операция ios_base::out стерла бы текущие данные

    file.open( "word.out", ios::app );

    file << endl << wd << endl;

    file.close();

}

Объект класса fstream

может также открывать файл одновременно для ввода и вывода. Например, приведенная инструкция открывает файл word.out для ввода и дозаписи:




Начало  Назад  Вперед



Книжный магазин