0% found this document useful (0 votes)
12 views

Chapter 8-File Handling

Uploaded by

ShaggY
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Chapter 8-File Handling

Uploaded by

ShaggY
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Programming I 2023

Chapter Eight File Handling


8.1. 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.

8.2. 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.

Note: To use the above classes of the fstream library, you must include it in your program as a
header file.

Page | 1
Programming I 2023
Chapter Eight File Handling
8.3. 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.

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
ios::in It opens the file for a read.
ios::out It opens the file for a write.
ios::trunk If a file exists, the file elements should be truncated prior to its
Example:
#include <iostream.h>
#include <fstream.h>
void 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();
}
}

8.4. How to Close Files

Once a C++ program terminates, it automatically

 flushes the streams


Page | 2
Programming I 2023
Chapter Eight File Handling
 releases the allocated memory
 closes opened files.

However, as a programmer, you should learn to close open files before the program terminates.

The fstream, ofstream, and ifstream objects have the close() function for closing files. The
function takes this syntax:

void close();
Example
#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 << "UoG June 2021";
my_file.close();
}
return 0;
}
8.5. 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.

Example:
#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 {
Page | 3
Programming I 2023
Chapter Eight File Handling
char ch;

while (1) {
my_file >> ch;
if (my_file.eof())
break;
cout << ch;
}
}
my_file.close();
return 0;
}
Note that we also use a while loop together with the getline() function (which belongs to
the ifstream class) to read the file line by line, and to print the content of the file:
Example
// Create a text string, which is used to output the text file
string myText;

// Read from the text file


ifstream MyReadFile("filename.txt");

// Use a while loop together with the getline() function to read the file line by line
while (getline (MyReadFile, myText)) {
// Output the text from the file
cout << myText;
}
// Close the file
MyReadFile.close();
8.6. Summary

 With file handling, the output of a program can be sent and stored in a file.
 A number of operations can then be applied to the data while in the file.
 A stream is an abstraction that represents a device where input/output operations are performed.
 A stream can be represented as either destination or source of characters of indefinite length.
 The fstream library provides C++ programmers with methods for file handling.
 To use the library, you must include it in your program using the #include preprocessor directive.

Page | 4

You might also like