- •Файловый
- •Класс – это описание множества объектов и выполняемых над ними действий
- •Наследование
- •Состояния потока описываются в классе ios в виде перечисления enum:
- •Проверить состояние потока можно
- •Работа с классом fstream
- •Задание нескольких режимов
- •Позиционирование с помощью функций
- •Возврат текущей позиции
- •Файловый ввод-вывод
- •создать файловый поток
- •Пример 2.
- •Работа с классом ofstream
- •Альтернативные функции
- •Пример использования класса ofstream
- •Работа с классом ifstream
- •1) Программа создает объект типа ofstream и выводит несколько строк текста в файл
- •файл A.DAT, читает его и отображает первые три элемента
- •4Программа читает файл по одному символу
- •5) Используется функция eof
- •6) Читается содержимое файла
- •Бинарный файл
- •(вместе с расширением) нужно ввести, читает из файла число и возводит его в
- •продолжение
- •окончание
- •вывода содержимого структуры с информацией о работнике (фамилия и имя,
- •функцию fail для проверки
вывода содержимого структуры с информацией о работнике (фамилия и имя,
возраст, зарплата) в файл FIRMA.DAT
• #include <iostream> #include <fstream> using namespace std;
• int main() { setlocale(LC_ALL, "Russian");
• int i;
• struct firma { char name [64] ; float salary; } worker;
•ofstream frm("FIRMA.DAT");
•for ( i = 0; i < 3; i++ )
•{ cout << "Введите фамилию и имя "<< i + 1<< "-ого работника "<< endl;
•cin >> worker.name; cout << endl;
•cout << "Введите зарплату: ";
•cin >> worker.salary; cout << endl;
•frm.write((char *) &worker, sizeof(firma)); } }
|
для чтения из файла информации о |
• |
служащем |
#include <iostream> #include <fstream> using namespace |
|
|
std; |
• |
int main() { setlocale(LC_ALL, "Russian"); |
• |
int i; |
• |
struct firma |
• |
{ char name [64] ; |
• |
float salary; |
• |
} worker; |
• |
ifstream frm("FIRMA.DAT"); |
• |
for ( i = 0; i < 3; i++ ) |
• |
{ frm.read((char *) &worker, sizeof(firma)); |
• |
cout << worker.name; |
• |
cout << worker.salary; |
• |
cout << endl; } } |
функцию fail для проверки
различных ошибочных ситуаций
• #include <iostream.h>
• #include <fstream.h>
• void main(void)
• { char line[256] ;
ifstream prm2("A.DAT") ;
if (prm2.fail()) cout << "Ошибка открытия A.DAT"<< endl;
else
•{ while ((! prm2.eof()) && (! prm2.fail()))
• |
{ prm2.getline(line, sizeof(line)) ; |
||
|
endl; |
if (! prm2.fail()) cout << line << |
|
|
} |
} |
•prm2.close ();
}