files_inc++

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

FACULTY OF ELECTRONIC ENGINEERING TECHNOLOGY

Spring Term :2021-2022


Subject: CP II 4 th SEMESTER
C++ File Handling
What is file handling in C++?
Files store data permanently in a storage device. With file handling, the output from a program
can be stored in a file. Various operations can be performed on the data while in the file.
A stream is an abstraction of a device where input/output operations are performed. You can
represent a stream as either a destination or a source of characters of indefinite length. This will
be determined by their usage. C++ provides you with a library that comes with methods for file
handling.
 What is file handling in C++?
 The fstream Library
 How to Open Files
 How to Close Files
 How to Write to Files
 How to Read from Files
The fstream Library
The fstream library provides C++ programmers with three classes for working with files. These
classes include:
 ofstream– This class represents an output stream. It’s used for creating files and writing
information to files.
 ifstream– This class represents an input stream. It’s used for reading information from
data files.
 fstream– This class generally represents a file stream. It comes with ofstream/ifstream
capabilities. This means it’s capable of creating files, writing to files, reading from data
files.

How to Open Files


Before performing any operation on a file, you must first open it. If you need to write to the file,
open it using fstream or ofstream objects. If you only need to read from the file, open it using the
ifstream object.

1
FACULTY OF ELECTRONIC ENGINEERING TECHNOLOGY
Spring Term :2021-2022
Subject: CP II 4 th SEMESTER
The three objects, that is, fstream, ofstream, and ifstream, have the open() function defined in
them. The function takes this syntax:
open (file_name, mode);

 The file_name parameter denotes the name of the file to open.


 The mode parameter is optional. It can take any of the following values:

Value Description
ios:: app The Append mode. The output sent to the file is appended to it.
ios::ate It opens the file for the output then moves the read and write control to file’s end.
ios::in It opens the file for a read.
ios::out It opens the file for a write.
ios::trunc If a file exists, the file elements should be truncated prior to its opening.

It is possible to use two modes at the same time. You combine them using the | (OR) operator.
#include <iostream>
#include <fstream>
using namespace std;
int main() {
fstream my_file;
my_file.open("my_file", ios::out);
if (!my_file) {
cout << "File not created!";
}
else {
cout << "File created successfully!";
my_file.close();
}
return 0;
}

How to Close Files


Once a C++ program terminates, it automatically
 flushes the streams
 releases the allocated memory
 closes opened files.
The fstream, ofstream, and ifstream objects have the close() function for closing files. The function takes
this syntax:
void close();
How to Write to Files
You can write to file right from your C++ program. You use stream insertion operator (<<) for
this. The text to be written to the file should be enclosed within double-quotes.
Example:

2
FACULTY OF ELECTRONIC ENGINEERING TECHNOLOGY
Spring Term :2021-2022
Subject: CP II 4 th SEMESTER
#include <iostream>
#include <fstream>
using namespace std;
int main() {
fstream my_file;
my_file.open("my_file.txt", ios::out);
if (!my_file) {
cout << "File not created!";
}
else {
cout << "File created successfully!";
my_file << "Guru99";
my_file.close();
}
return 0;
}

How to Read from Files


You can read information from files into your C++ program. This is possible using stream
extraction operator (>>). You use the operator in the same way you use it to read user input from
the keyboard. However, instead of using the cin object, you use the ifstream/ fstream object.
#include <iostream>
#include <fstream>
using namespace std;
int main() {
fstream my_file;
my_file.open("my_file.txt", ios::in);
if (!my_file) {
cout << "No such file";
}
else {
char ch;

while (1) {
my_file >> ch;
if (my_file.eof())
break;

cout << ch;


}

}
my_file.close();
return 0;
}

You might also like