Embed
Email

File

Document Sample

Categories
Tags
Stats
views:
6
posted:
11/24/2011
language:
English
pages:
10
Prepared By : Rakesh Kumar

File Handling in C++



Files are required to save our data for future use, as Ram is not able to hold our data permanently.



Files







Data Files

Program Files





Text Files Binary Files



The Language like C/C++ treat every thing as a file , these languages treat keyboard , mouse, printer, Hard

disk , Floppy disk and all other hardware as a file.



The Basic operation on text/binary files are : Reading/writing ,reading and manipulation of data stored on

these files. Both types of files needs to be open and close.



How to open File

Using member function Open( ) Using Constructor

Syntax Syntax

Filestream object; Filestream object(“filename”,mode);

Object.open(“filename”,mode);

Example Example

ifstream fin;

fin.open(“abc.txt”) ifstream fin(“abc.txt”);





NOTE: (a) Mode are optional and given at the end .

(a) Filename must follow the convention of 8.3 and it’s extension can be anyone





How to close file

All types of files can be closed using close( ) member function

Syntax

fileobject.close( );

Example

fin.close( ); // here fin is an object of istream class





Objective : To insert some data on a text file



Program file SCR









Abc.txt



Program



D.A.V. Centenary Public School Chander Nagar, Ghaziabad

Prepared By : Rakesh Kumar







Program ABC.txt file contents

#include This is my first program in file handling

using namespace std; Hello again

int main()

{

ofstream fout;

fout.open("abc.txt");

fout

#include

#include

using namespace std;

int main()

{

ifstream fin;

char str[80];

fin.open("abc.txt");

fin>>str; // read only first

//string from file

cout

#include #include

#include #include

#include using namespace std;

int main()

using namespace std;

int main() {

{ char ch;



D.A.V. Centenary Public School Chander Nagar, Ghaziabad

Prepared By : Rakesh Kumar

char ch; ifstream fin;

ifstream fin; fin.open("abc.txt");

fin.open("abc.txt"); while(fin) // file object

while(!fin.eof()) // using eof() {

// function fin.get(ch);

{ cout #include

#include #include

#include #include

using namespace std; using namespace std;

int main() int main()

{ {

char str[100]; char ch;

ifstream fin; ifstream fin;

fin.open("c:\\abc.txt"); fin.open("file6.cpp");

while(!fin.eof()) while(!fin.eof())

{ {

fin.getline(str,99); fin.get(ch);

cout

#include

using namespace std;

struct student

{

int roll ;

char name[30];

char address[60];

};

int main()

{

student s;

ofstream fout;

D.A.V. Centenary Public School Chander Nagar, Ghaziabad

Prepared By : Rakesh Kumar

fout.open("student.dat");

cout>s.roll;

cout>s.name;

cout>s.address;

fout.write((char *)&s,sizeof(student));

fout.close();

return 0;

}



To Read data from a binary File using read( ) member function

Program using read( ) member function output

#include

#include

#include

using namespace std;

struct student

{

int roll ;

char name[30];

char address[60];

};

int main()

{

student s;

ifstream fin;

fin.open("student.dat");

fin.read((char *)&s,sizeof(student));

cout

#include

using namespace std;

class student

{

int roll ;

char name[30];

char address[60];

public:

void read_data( ); // member function prototype

void write_data( ); // member function prototype



};

void student::read_data( ) // member function defintion

{

cout>roll;

cout>name;

cout>address;

}

void student:: write_data()

{

D.A.V. Centenary Public School Chander Nagar, Ghaziabad

Prepared By : Rakesh Kumar

cout

#include

#include

using namespace std;

class student

{

int roll ;

char name[30];

char address[60];

public:

void read_data( ); // member function prototype

void write_data( ); // member function prototype



};

void student::read_data( ) // member function defintion

{

cout>roll;

cout>name;

cout>address;

}

void student:: write_data()

{

cout

#include

#include

using namespace std;

class student

{

int admno;

char name[30];

char address[60];

public:

void read_data()

{

cout>admno;

fflush(stdin);

cout>temp_admno;

while(fin.read((char *)&s,sizeof(student)))

{

if (temp_admno==s.get_admno())

{

s.read_data();

}

fout.write((char *)&s,sizeof(student));

}

fin.close();

fout.close();

remove("student.dat");

rename("temp.dat","student.dat");

return;

}



void modify_alternate_method()

{

student s;

int temp_admno;

fstream file;

file.open("student.dat",ios::in|ios::out|ios::ate|ios::binary);

cout>temp_admno;

file.seekg(0); // one method to reach at begining



// long n = file.tellg(); // find out total no of bytes

// file.seekg((-1)*n,ios::end); // move backward total no of bytes from end



while(file.read((char*)&s,sizeof(student)))

{

if(temp_admno == s.get_admno())

{

s.read_data();

int n = -1*sizeof(student);

file.seekp(n,ios::cur);

file.write((char *)&s,sizeof(student));

}

}

file.close();

return;

}



void delete_record(void)

{

int temp_admno;

student s;

ifstream fin;

ofstream fout;

fin.open("student.dat");

D.A.V. Centenary Public School Chander Nagar, Ghaziabad

Prepared By : Rakesh Kumar

fout.open("temp.dat");

system("cls");

cout>temp_admno;

while(fin.read((char *)&s,sizeof(student)))

{

if (temp_admno!=s.get_admno())

fout.write((char *)&s,sizeof(student));

}

fin.close();

fout.close();

remove("student.dat"); // stdio.h

rename("temp.dat","student.dat"); // stdio.h

return;

}



void search_record()

{

int found=0;

student s;

int temp_admno;

ifstream fin("student.dat");

cout>temp_admno;

while(fin.read((char*)&s,sizeof(student)))

{

if(temp_admno==s.get_admno())

{

found=1;

s.write_data();

}

}

fin.close();

if(found ==0)

cout>choice;

switch(choice)

{

case 1: system("cls");

write_to_file();

break;

case 2:

read_from_file();

getch();

break;

case 3:

modify_record();

break;

case 4:

modify_alternate_method();

break;

case 5:

delete_record();

break;

case 6: count_record();

break;

case 7: search_record();

break;

case 8:

break;



default:

cout<<"\n Wrong choice.... Try again";

getch();

}

}while(choice!=8);

return 0;

}









D.A.V. Centenary Public School Chander Nagar, Ghaziabad



Related docs
Other docs by Stariya Js @ B...
How we become literate
Views: 0  |  Downloads: 0
15189
Views: 0  |  Downloads: 0
Enrollment Agreement
Views: 0  |  Downloads: 0
seddc 061009 pm
Views: 0  |  Downloads: 0
Juvanec-KamenNaKamen-eng
Views: 0  |  Downloads: 0
Syllabus Macro Fall 10
Views: 0  |  Downloads: 0
23401
Views: 0  |  Downloads: 0
9-11-RPH-stonefabrication-ord-memo-agss
Views: 0  |  Downloads: 0
Junior_Pre_season_Soccer_League_application
Views: 0  |  Downloads: 0
guide_to_moodle_quizzes
Views: 0  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!