In this post we will write a C++ program to search a record from file.
C++ program to search a record from file.
#include<iostream>
#include<conio.h>
#include<fstream>
#include<process.h>
#include<string.h>
using namespace std;
struct record
{
char name[15];
};
int main()
{
char ch = 'y';
char fname[15];
int t = 0;
int rn = 0;
system("cls");
record rec;
ofstream fil("abc.rec",ios::binary);
if(!fil)
{
cerr<<"File opening error";
getch();
exit(0);
}
while(ch != 'n')
{
std::cout<<"Enter the name = ";
std::cin>>rec.name;
fil.write((char*)&rec, sizeof(rec));
std::cout<<"Do you want to enter more record (Y/N) = ";
std::cin>>ch;
}
fil.close();
ifstream sec("abc.rec", ios::binary);
if(!sec)
{
cerr<<"File opening error";
getch();
exit(0);
}
std::cout<<std::endl;
std::cout<<"Enter the name you want to search = ";
std::cin>>fname;
while(sec.read((char*)&rec, sizeof(rec)))
{
if(strcmp(fname, rec.name) == 0)
{
rn = ((rn - 1)*sizeof(rec));
sec.seekg(rn);
std::cout<<rec.name<<std::endl;
sec.close();
t = 1;
}
rn++;
}
if(t == 0)
std::cout<<"Name does not exit"<<std::endl;
getch();
return 0;
}
Output
Enter the name = ABC
Do you want to enter more recored (Y/N) = y
Enter the name = XYZ
Do you want to enter more recored (Y/N) = n
Enter the name you want to search = ABC
Given name is found = ABC