0% found this document useful (0 votes)
32 views10 pages

Chapter 5

The document discusses file handling in C++. It covers opening and closing files, reading from and writing to files, and using different file stream classes like ifstream, ofstream and fstream. It also discusses functions for reading, writing, seeking in files and handling binary data.

Uploaded by

Ram Bhardwaj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views10 pages

Chapter 5

The document discusses file handling in C++. It covers opening and closing files, reading from and writing to files, and using different file stream classes like ifstream, ofstream and fstream. It also discusses functions for reading, writing, seeking in files and handling binary data.

Uploaded by

Ram Bhardwaj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 10

File Handling in C++

Objective

In this chapter learner able to understand:


• File handling in C++
• File Handling classes in C++
• Reading and Writing in file
<fstream> and the File Classes
 To perform file I/O, you must include the header <fstream> in your
program.
 It defines several classes, including ifstream, ofstream, and fstream.
These classes are derived from istream, ostream, and iostream,
respectively.
 istream, ostream, and iostream are derived from ios, so ifstream,
ofstream, and fstream also have access to all operations defined by ios.
 Another class used by the file system is filebuf, which provides low-level
facilities to manage a file stream.
Opening and Closing a File
 In C++, you open a file by linking it to a stream.
 Before you can open a file, you must first obtain a stream. There are three
types of streams: input, output, and input/output.

ifstream in; // input stream to read from file


ofstream out; // output stream to write in file
fstream in_out; // input and output stream to read and write from/to files
Opening and Closing a File
 Once you have created a stream, one way to associate it with a file is by using
open() . This function is a member of each of the three stream classes.
 Prototype for each is as below:

void ifstream::open(const char *filename, ios::openmode mode = ios::in);

void ofstream::open(const char *filename, ios::openmode mode = ios::out |


ios::trunc);

void fstream::open(const char *filename, ios::openmode mode = ios::in | ios::out);


Opening and Closing a File
 You can also check to see if you have successfully opened a file by using the
is_open() function, which is a member of fstream, ifstream, and ofstream.
 It has this prototype:
bool is_open( );
if(!out.is_open()) {
cout << "File is not open.\n";
exit(1);
}
 To close a file, use the member function close() . For example, to close the file
linked to a stream called out use this statement:
out.close();
 The close() function takes no parameters and returns no value.
File Opening mode parameters C++
ios::app Append to end of file

ios::ate go to end of file on opening

ios::binary Opens file in binary mode

ios::in open file for reading only

ios::out open file for writing only

ios::trunc delete the contents of the file if it exist


Reading and Writing Text Files
Writing in File:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ofstream out("STUDENT.txt"); // output stream
if(!out) {
cout << "Cannot open Student file.\n";
return 1;
}
out << "Abhay " << 20 << endl;
out << "Amit " << 24 << endl;
out << "Mukesh " << 23 << endl;
out << "Pankaj " << 22 << endl;
out.close();
return 0;
}
Reading and Writing Text Files
Reading from File:
ifstream in("STUDENT.txt"); // input stream
if(!in) {
cout << "Cannot open Student file.\n";
return 1;
}
string name;
int age;
while(in)
{
in >> name >> age;
if(in)
cout << name << " " << age <<endl;

}
in.close();
More I/O Functions
 put() and get() function:The function put() writes a single character to the
associated stream. Similarly, the function get() reads a single character form
the associated stream.
Prototypes:
istream &get(char &ch);
ostream &put(char ch);
 write() and read() function: write() and read() functions write and read
blocks of binary data to/from files.
Prototypes:
istream &read(char *buf, streamsize num);
ostream &write(const char *buf, streamsize num);
 Random Access:
istream &seekg(off_type offset, seekdir origin);
ostream &seekp(off_type offset, seekdir origin);
Here origin can be any of ios::beg ,ios::cur or ios::end.

You might also like