logo
ООП для Заоч / Пинчук Лозовская Программир на С

Void main(int n, char** fnam)

{ ifstream fs(fnam[1]);

if (fs==0) { puts("Файл не знайдений!"); exit(0); }

while (!fs.eof())

cout << (char)fs.get();

// зчитування з файлу і виведення на екран // наступного символу

}

У цій програмі для контролю досягнення кінця файлу використана функція ifstream::eof(). У зв'язку з тим, що функція ifstream::get() повертає значення типу int, у програмі застосовано операцію перетворення типу (char).

Якщо зв'язування потоку fs з файлом fnam[1] не закінчилося успішно, потокова змінна fs одержує значення NULL. Це дає можливість здійснювати контроль успішності відкриття файлу.

Замість функції ifstream::get() можна застосувати функцію ifstream::get(x), вона добутий символ привласнює змінній x. Передостанній рядок програми у такому разі запишеться таким чином:

while (!fs.eof()) { fs.get(x); cout<<x; }

Розглянемо приклад програми, яка копіює інформацію з одного файлу в іншій. Для запуску програми використовується командний рядок з параметрами. Через них передаються імена вхідного і вихідного файлів. Якщо ім'я файлу-приймача в командному рядку не зазначено, інформація копіюється на екран.

// Приклад 3

#include <fstream.h>