Файлове введення

Файлове введення досягається при зв’язуванні вхідного потоку з файлом за допомогою змінної класу ifstream або fstream. Ці класи визначені у файлі заголовка fstream.h. Файлове введення може використовуватися точно так, як і звичайне потокове введення, оскільки клас ifstream породжений від класу istream. Файлове введення повинне здійснювати перевірку помилок.

 

ifstream inFile(“myFile”); // спробувати відкрити myFile

if(!inFile) // відкриття неможливе

{

cerr << “Cannot open ” myFile” for inputn”;

exit(1);

}

int a, b;

inFile >> a >> b;

9. Інше файлове введення/виведення

void open(char* name, int mode = ios::out, int prot = filebuf::openprot);

– відкриває файл і зв’язує його з відкритим раніше потоком. Параметр mode може мати такі значення:

ios::app – всі записувані дані додаються в кінець файлу (мається на увазі ios::out);

ios::ate – всі записувані дані додаються в кінець файлу (не мається на увазі ios::out);

ios::in – файл відкривається для введення;

ios::out – файл відкривається для виведення;

ios::trunc – усікання попереднього вмісту файлу (мається на увазі ios::out);

ios::nocreate – якщо файл не існує, то відкрити його неможливо;

ios::noreplace – якщо файл уже існує, то відкрити його неможливо.

Функція open() установлює режим захисту prot.

 

void close();

– закриває файл і відкріплює його від потоку.

 

ifstream encyclopaedia;

for(int i=0; i<numVolumes; ++i)

{

encyclopaedia.open(volume[i]);

if(!encyclopaedia)

{

// обробка помилки відкриття файлу

}

// обробка файлу

encyclopaedia.close();

}


Лекція 15. Стани форматування