1.2. Файл input.C
#include<fcntl.h>
#include<sys/types.h>
#include<unistd.h>
#include<malloc.h>
#include<stdio.h>
#include<process.h>
#include<iostream.h>
int stud_num; //kolichestvo studentov
int i; //vremennaya peremennaya
int Handle; // descriptor fayla
long FSize; //razmer fayla(bayt)
char FName[15];//imya fayla
struct stud {char stud_surname[20]; //familiya studenta
int stud_group; //gruppa
int stud_mark;};//ocenka
struct stud *Buffer;//bufer dlya hraneniya zapisey
int main()
{cout<<"\n PID tekywego processa raven: "<<getpid();
cout<<"\n Vvedite kolichestvo stydentov:";
cin>>stud_num;
cout<<"\n Rezervirivanie pamyati v razmere bait"<<stud_num*sizeof(struct stud);
if((Buffer=(struct stud*)malloc(stud_num*sizeof(struct stud)))==NULL)
{cout<<"\n Ne xvataet pamyati. Programma zavershena c kodom vozvrata -1";
exit(-1);}
for(i=0;i<stud_num;i++)
{cout<<"\n\n Vvedite informaciy o studente iz \n",i+1,stud_num;
cout<<"Vvedite imya stydenta:";
cin>>Buffer[i].stud_surname;
cout<<"Vvedite nomer gryppu stydenta:";
cin>>Buffer[i].stud_group;
cout<<"Vvedite ocenky stydenta:";
cin>>Buffer[i].stud_mark;}
cout<<"\n Zapolnenie bazi dannux zaversheno!";
cout<<"\n\n Vvedite imya faila dlya coxraneniya bazu dannux:";
cin>>FName;
if((Handle = open(FName, O_RDWR|O_CREAT))==-1)
{cout<<"\n Vuxodnoi fail ne moget but' sozdan. Programma prervana.";
exit(-1);}
write(Handle, Buffer, stud_num*sizeof(struct stud));
close(Handle);}
1.3. Файл output.C
#include<fcntl.h>
#include<sys/types.h>
#include<unistd.h>
#include<malloc.h>
#include<stdio.h>
#include<process.h>
#include<iostream.h>
int stud_num; //kolichestvo studentov
int i; //vremennaya peremennaya
int Handle; // descriptor fayla
long FSize; //razmer fayla(bayt)
char FName[15];//imya fayla
struct stud {char stud_surname[20];//familiya
int stud_group; //gruppa
int stud_mark;};//ocenka
struct stud *Buffer; //bufer dlya hraneniya
int main()
{cout<<"\n PID tekushego processa raven:"<<getpid();
cout<<"\n Vvedite imya faila bazi dannih: ";
cin>>FName;
if ((Handle=open(FName, O_RDONLY))==-1)
{cout<<"\n Nevozmogno otkrit' fayl. Vipolnenie programmi prervano.";
exit (-1);}
//vichislenie razmera fayla bazi dannih
FSize=lseek(Handle, 0, SEEK_END);
lseek(Handle, 0, SEEK_SET);
//vichislenie kolichestva zapisey v baze dannih
stud_num=FSize/sizeof(struct stud);
cout<<"\n Baza dannih hranit zapisi o studentah"<<stud_num;
cout<<"\n Rezervirovanie pamyati v razmere bayt..."<<stud_num*sizeof(struct stud);
if ((Buffer=(struct stud*) malloc (stud_num*sizeof(struct stud)))==NULL)
{cout<<"\n Ne hvataet pamyati. Programma zavershena s kodom vozvrata -1.";
exit (-1);}
if (FSize!=read (Handle, Buffer, FSize))
{cout<<"\n Chtenie bazi dannih nevozmogno. \n Programma prervana.";
close (Handle);
exit (-1);}
close (Handle);
for (i=0;i<stud_num;i++)
{cout<<"\n\n Informaciya o studente iz "<<i+1,stud_num;
cout<<"\n Familiya studenta: "<<Buffer[i].stud_surname;
cout<<"\n Gruppa studenta: "<<Buffer[i].stud_group;
cout<<"\n Ocenka studenta: "<<Buffer[i].stud_mark;}
cout<<"\n\n Vivod bazi dannih na ekran zavershen!\n";
}