28.У довільно узятій пропозиції виділити слова, що містять заданий у діалозі символ.
6.1 Мета роботи
Вивчити й освоїти засоби запровадження/висновку засобами мови C.
6.2 Підготовка до роботи
Просте запровадження/висновок у файл
Клас ofstream успадковує операції вставки від ostream, а ifstream успадковує операції витягу від istream. Вони також забезпечують конструктори й функції-компоненти для створення файлів і опрацювання запровадження висновку в цей файл. Варто включати fstream.h в усі програми, де використовуються ці файли. Роздивимося такий приклад, у якому файл FILE_FROM копіюється в FILE_TO:
#include fstream. h
...
char ch;
ifstream f1("file_from");
if (! f1) errmsg("Cannot open 'file_from' for input");
ofstream f2("file_to");
if (! f2) errmsg("Cannot open 'file_to' for output");
while ( f2 && f1. get(ch) ) f2. put(ch);
Помилки, пов'язані з потоками, докладно обговорюються нижче.
Відзначимо, що якщо конструктори ifstream або ofstream не можуть відкрити зазначені файли, то установлюється відповідний стан помилки потоку.
Конструктори дозволяють оголосити потік файлу без завдання іменованого файлу. Потім ви можете асоціювати даний потік файлу з конкретним файлом:
ofstream ofile; // створення вихідного потоку файлу
...
ofile. open("payroll"); // потік ofile асоціюється з файлом payroll
// робота з деяким паролем
ofile. close(); // payroll закривається
ofile. open("employee"); // потік ofile можна використувати повторно
За умовчанням файли відкривають у текстовому режимі. Це означає, що на запровадженні послідовність повернення каретки/перекладу рядка перетвориться в символ '\n'. На висновку символ '\n' перетвориться в послідовність повернення каретки/переклад рядка. У двійковому режимі такі перетворення не виконуються.
Функція компонента ofstream::open об'являється в такий спосіб:
void open(char * name, int=ios::out, int prot=filуbuf::openprot);
Аналогічно, оголошення ifstream::open має вид:
void open(char * name, int=ios::in, int prot=filуbuf::openprot);
Другий аргумент, названий режимом відкриття, має показані значення. Аргумент режиму відкриття (можливо, пов'язаний операцією АБО з декількома бітами режиму) можна явно задати в такій формі:
Біт режиму |
Дія |
ios::app |
Додавання даних - запис завжди в кінець файлу |
ios::ate |
Пошук кінця файлу після початкового відкриття |
ios::in |
Відкриття на запровадження (припускається для ifstream) |
ios::out |
Відкриття на висновок (припускається для ofstream) |
ios::trunc |
Знищення вмісту у випадку, якщо файл існує (припускається, якщо ios::out задано, і ні ios::ate, ні ios::app не задані) |
ios::nocreate |
Якщо файл не існує, те open дає помилку |
ios::noreplace |
Якщо файл існує, open для файлів висновку дає помилку, якщо не встановлені ate або app |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.