
C++ File Handling is used to store data on a file. A file is a collection of related data stored in the disk. Programs can be designed to perform the read and write operations on these files.
AdvertisementExample 1: Input string and write in a file 1
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
void main()
{
char a[20];
clrscr();
cout<<"Enter name";
cin>>a;
ofstream out("file.txt");
out<<a;
out.close();
getch();
}
Example 2: Read contents from a file
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
void main()
{
char a[20];
clrscr();
ifstream in("file.txt");
in>>a;
cout<<a;
in.close();
getch();
}
Example 3: Write the text in a file then Read its contents. 1
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
void main()
{
char a[20], b[20];
clrscr();
cout<<"Enter name";
cin>>a;
ofstream out("file.txt");
out<<a;
out.close();
ifstream out2("file.txt");
out2>>b;
cout<<b;
out2.close();
getch();
}
ifstream class contains following functions:
ofstream class contains following functions:
Example 4: Input file name and display its contents if exists using getline function. 1
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
void main()
{
char a[20], b[20];
clrscr();
cout<<"Enter filename";
cin>>a;
cout<<"File Contents are\n";
ifstream f;
f.open(a);
while(f)
{
f.getline(b,80);
cout<<b;
}
getch();
}
| S.No | Seek Function | Description |
|---|---|---|
| Fout.seekg(0,ios::beg) or Fout.seekg(0) | Go to begining of the file | |
| Fout.seekg (m,ios::cur) | Move m+1th byte in the file | |
| Fout.seekg (0,ios::end) | Go to end of file |
| S.No | File Mode | Description |
|---|---|---|
| ios::in | Open file in Read Mode | |
| ios::out | Open file in Write Mode | |
| ios::app | Append at end of file | |
| ios::ate | Go to end of file | |
| ios::binary | Binary File | |
| ios::trunc | Delete contents if exists |
Example 5: Read and write 5 students record in a file using structure. 1
#include<stdio.h>
#include<conio.h>
#include<fstream.h>
struct student
{
int rollno;
char name[20];
int hindi, english, maths, science, sstudies;
int total;
float per;
}s[5], s2[5];
int main()
{
int i;
FILE *fp;
clrscr();
fp=fopen("student.dat","a");
clrscr();
for(i=0;i<4;i++)
{
printf("Enter student rollno, name and hindi, english, maths, science, sstudies");
scanf("%d%s%d%d%d%d%d", &s[i].rollno, &s[i].name, &s[i].hindi, &s[i].english, &s[i].maths, &s[i].science, &s[i].sstudies);
s[i].total=s[i].hindi+s[i].english+s[i].maths+s[i].science+s[i].sstudies;
s[i].per=s[i].total/5;
fwrite(&s[i],sizeof(s[i]), 1, fp);
}
fclose(fp);
fp=fopen("student.dat","r");
printf("Student info:\n");
for(i=0;i<4;i++)
{
fread(&s2[i],sizeof(s2[i]),1,fp);
printf("Roll no.%d\nName:%s\n", s2[i].rollno, s2[i].name);
printf("Hindi marks:%d\nEnglish marks:%d\nMaths marks:%d\nScience marks:%d\n;S.Studies marks:%d\n",s2[i].hindi,s2[i].english,s2[i].maths,s2[i].science,s2[i].sstudies);
printf("\nTotal:%d",s2[i].total);
printf("\nPercentage:%.2f",s2[i].per);
}
fclose(fp);
getch();
}
Ad: