Seeks particular person in file - C++ File Stream

C++ examples for File Stream:File Operation

Description

Seeks particular person in file

Demo Code

#include <fstream>
#include <iostream>
using namespace std;
class person//w w w. j a v a 2 s  . c  om
{
   protected:
   char name[80];
   int age;
   public:
   void getData()
   {
      cout << "\n   Enter name: "; cin >> name;
      cout << "   Enter age: "; cin >> age;
   }
   void showData(void)         //display person's data
   {
      cout << "\n   Name: " << name;
      cout << "\n   Age: " << age;
   }
};
int main()
{
   person pers;
   ifstream infile;               //create input file
      infile.open("GROUP.DAT", ios::in | ios::binary);  //open file
   infile.seekg(0, ios::end);     //go to 0 bytes from end
   int endposition = infile.tellg();        //find where we are
   int n = endposition / sizeof(person);    //number of persons
   cout << "\nThere are " << n << " persons in file";
   cout << "\nEnter person number: ";
   cin >> n;
   int position = (n-1) * sizeof(person);  //number times size
   infile.seekg(position);        //bytes from start
   //read one person
   infile.read( reinterpret_cast<char*>(&pers), sizeof(pers) );
   pers.showData();
   cout << endl;
   return 0;
}

Result


Related Tutorials