Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Работа со структурами и бинарными файлами



В листинге 6.3 представлена программа, которая

· создает бинарный файл, в котором храниться информация о сотрудниках предприятия: фамилия и инициалы, год рождения, оклад.

· Выводит на экран информацию, хранимую в бинарном файле, а также сведения о сотруднике по заданной фамилии и инициалам (рис. 6.5).

Листинг 6.3 Создание и обработка бинарного файла

#include <stdio.h>

#include <string.h>

#include <iostream>

Using namespace std;

const int l_name = 30;

Struct Man

{ char name[l_name];

Int birth_year;

Float pay;

};

int compare(const void *manl, const void *man2);

void create(void) // Создание файла

{ Man man; int pr; FILE *fbin;

if ((fbin =fopen("dbase.bin","wb")) == NULL)

puts("Ошибка создания файла\n ");

Else

{ do

{ cout << "\n Фамилия и инициалы: ";

Cin.get(); gets (man.name);

cout << "\n Год рождения: ";

cin >> man.birth_year;

cout << "\n Оклад: ";

cin >> man.pay;

fwrite(&man, sizeof(man),1,fbin);

cout<< "\n Продолжить ввод? (1-да/0-нет)";

cin >> pr;

} while(pr == 1);

}

Fclose(fbin);

}

void view(void) // Просмотр файла

{ FILE *fbin;

if ((fbin =fopen("dbase.bin","rb")) == NULL)

puts("Ошибка открытия файла\n");

Else

{ fseek(fbin, 0, SEEK_END);

int n_record = ftell(fbin)/sizeof(Man);

Man *man = new Man[n_record];

Fseek(fbin, 0, SEEK_SET);

Fread(man, sizeof(Man),n_record, fbin);

Fclose(fbin);





Дата публикования: 2015-04-07; Прочитано: 316 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...