yet another question from me... LOL
okay i have written this code to read records from a text file but the problem is that it is displaying an extra blank record at the end.
//note this is just a function of my program
Code:
void readFile(info& vars)
{
clrscr();
char str[20];
int ctr=0,ctr2=0;
ifstream read;
read.open(vars.fn);
clrscr();
cout<<"Notepad Database: Read Records"<<endl;
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl<<endl;
cout<<"You are viewing the file "<<vars.fn<<endl<<endl;
cout<<setiosflags(ios::left);
cout<<"----------------------------------------------------"<<endl;
cout<<" "<<" | "<<setw(10)<<"First"<<" ";
cout<<setw(10)<<"Last"<<" ";
cout<<setw(10)<<"Month"<<" ";
cout<<setw(10)<<"Day"<<" ";
cout<<setw(10)<<"Year"<<endl;
cout<<"----------------------------------------------------";
cout<<endl;
do
{
ctr2++;
if(ctr2==1)
{
cout<<setiosflags(ios::left);
read.getline(vars.fName[ctr],sizeof(vars.fName[ctr]));
cout<<ctr+1<<" | "<<setw(10)<<vars.fName[ctr]<<" ";
}
if(ctr2==2)
{
read.getline(vars.lName[ctr],sizeof(vars.lName[ctr]));
cout<<setw(10)<<vars.lName[ctr]<<" ";
}
if(ctr2==3)
{
read.getline(vars.month[ctr],sizeof(vars.month[ctr]));
cout<<setw(10)<<vars.month[ctr]<<" ";
}
if(ctr2==4)
{
read.getline(vars.day[ctr],sizeof(vars.day[ctr]));
cout<<setw(10)<<vars.day[ctr]<<" ";
}
if(ctr2==5)
{
read.getline(vars.year[ctr],sizeof(vars.year[ctr]));
cout<<setw(10)<<vars.year[ctr];
cout<<endl;
cout<<"----------------------------------------------------"<<endl;
ctr++;
ctr2=0;
}
}
while(!read.eof());
cout<<endl;
cout<<"Please press any key to return to the menu...";
getch();
}