Possible Duplicate:
Reading from text file until EOF repeats last line
I am writting data to a file using the following code
//temp is class object
fstream f;
f.open ("file", ios::in|ios::out|ios::binary);
for(i=0;i<number_of_employees ;++i)
{
temp.getdata();
f.write( (char*)&temp,sizeof(temp));
}
f.close();
temp is the object of following class
class employee
 {
 char eno[20];
 char ename[20];
 char desg[20];
 int bpay;
 int ded;
 public:
 void getdata();
 void displaydata();
}
But when i write data using this code i find that the last object written to file gets written two times.
my function to read from file is
fstream f;
f.open ("file", ios::in|ios::out|ios::binary);
while(f)
{
f.read((char*)&temp, sizeof(temp));
temp.displaydata();
}
f.close();
following shows my file when it is read till eof
Number       :1
Name       :seb
Designation:ceo
Basic Pay  :1000
Deductions :100
Number       :2
Name       :sanoj
Designation:cto
Basic Pay  :2000
Deductions :400
Number       :2
Name       :sanoj
Designation:cto
Basic Pay  :2000
Deductions :400
What is the cause of this and how can i solve it?
 
     
     
     
    