How to Read Text From a File in C++

In this commodity, nosotros are going to bear witness you how to read and write to a file in the C++ programming linguistic communication by using several examples. To understand C++ file operations like read and write, we must beginning understand the concept of a stream in C++.

What is a Stream?

A stream is simply a flow of data or characters. At that place are two types of streams: input streams and output streams. An input stream is used to read the data from an external input device such as a keyboard, while an output stream is used to write data to the external output device such as a monitor. A file can be considered as both an input and output source.

In C++, we use a stream to send or to receive data to or from an external source.

Nosotros tin can utilize born classes to access an input/output stream, i.eastward., "ios".

Here is the stream class hierarchy of the C++ programming language:

The "cin" and "cout" objects are used to read the information from the keyboard and to display the output on the monitor, respectively. In addition, "ifstream," which stands for "input file stream," is used to read a stream of data from a file, and "ofstream," which stands for "output file stream," is used to write a stream of data to a file.

The "iostram.h" file contains all the required standard input/output stream classes in the C++ programming language.

Examples

Now that you understand the basics of streams, we will discuss the following examples to help you to better understand file operations in C++:

  • Example 1: Open and Close a File
  • Case 2: Write to a File
  • Example iii: Read from a File
  • Instance 4: Read and Write to a File
  • Case 5: Read and Write to a Binary File

Example 1: Open up and Shut a File

In this example program, nosotros will demonstrate how to open up/create a file and how to close the file in C++. As you can see in the below plan, we have included the library required for file operations.

To open and shut a file, nosotros need an object of ofstream. Then, to read or write to a file, we have to open up the file. Nosotros have included the fstream header file at line number-ane so that we tin can admission ofstream class.

Nosotros accept declared a myFile_Handler as an object of ofstream inside the chief function. We tin then apply the open up() part to create an empty file and the shut() function to close the file.

#include <fstream>

using namespace std;

int main( )
{
ofstream myFile_Handler;

// File Open up
myFile_Handler.open ( "File_1.txt" ) ;

// File Close
myFile_Handler.close ( ) ;
return 0 ;
}

Now, we volition compile the program and examine the output. As you tin come across in the output window beneath, the "File_1.txt" file was created later executing the program. The size of the file is nil since we have non written whatever content in the file.

Example 2: Write to a File

In the previous example plan, we showed you how to open a file and how to shut the file. Now, we will show you how to write something in a file.

We tin can write to a file using the stream insertion operator, i.e., "<<". In this program, nosotros accept used the file handler and insertion operator to write ii lines in the file. The insertion operator ("<<") indicates that we are inserting the string into the output file stream object.

#include <fstream>

using namespace std;

int main( )
{
ofstream myFile_Handler;
// File Open up
myFile_Handler.open up ( "File_1.txt" ) ;

// Write to the file
myFile_Handler << "This is a sample test File. " << endl;
myFile_Handler << "This is the second line of the file. " << endl;

// File Close
myFile_Handler.close ( ) ;
return 0 ;
}

Now, we will compile the above programme and execute it. Every bit y'all can see below, we accept successfully written to the file File_1.txt.

Example iii: Read from a File

In the previous examples, we showed you how to write content to a file. Now, let's read the content from the file that we created in Case-two and display the content on the standard output device, i.e., the monitor.

We use the getline() function to read the complete line from the file and and then "cout" to print the line on the monitor.

#include <iostream>
#include <fstream>
#include <cord>

using namespace std;

int main( )
{
ifstream myFile_Handler;
string myLine;

// File Open in the Read Mode
myFile_Handler.open ( "File_1.txt" ) ;

if (myFile_Handler.is_open ( ) )
{
// Proceed reading the file
while (getline(myFile_Handler, myLine) )
{
// impress the line on the standard output
cout << myLine << endl;
}
// File Close
myFile_Handler.shut ( ) ;
}
else
{
cout << "Unable to open the file!" ;
}
render 0 ;
}

Now, we will print the content of File_1.txt using the following command:  cat File_1.txt. One time we compile and execute the programme, it is clear that the output matches the content of the file. Therefore, we have successfully read the file and printed the content of the file to the monitor.

Example 4: Read and Write to a File

So far, we have showed you how to open, read, write, and shut a file. In C++, we tin can besides read and write to a file at the same time. To both read and write to a file, we have to become an fstream object and open up the file in "ios::in" and "ios::out" mode.

In this example, we kickoff write some content to the file. Then, we read the data from the file and impress it to the monitor.

#include <iostream>
#include <fstream>
#include <cord>

using namespace std;

int chief( )
{
fstream myFile_Handler;
string myLine;

// File Open
myFile_Handler.open ( "File_1.txt", ios:: in | ios:: out ) ;

// Bank check if the file has opened
if ( !myFile_Handler)
{
cout << "File did not open up!" ;
go out ( 1 ) ;
}

// Write to the file
myFile_Handler << "i. This is another sample test File. " << endl;
myFile_Handler << "2. This is the second line of the file. " << endl;

    myFile_Handler.seekg (ios:: beg ) ;

// Read the File
if (myFile_Handler.is_open ( ) )
{
// Keep reading the file
while ( getline(myFile_Handler, myLine) )
{
// impress the line on the standard output
cout << myLine << endl;
}

// File Close
myFile_Handler.close ( ) ;
}
else
{
cout << "Unable to open the file!" ;
}
myFile_Handler.close ( ) ;
return 0 ;
}

At present, nosotros will compile and execute the programme.

Case 5: Read and Write to a Binary File

In this example, we are going to declare a class and and so write the object to a binary file. To simplify this example, we have declared the Employee class with a public variable emp_id. Then, nosotros volition read the binary file and print the output to the monitor.

#include <iostream>
#include <fstream>

using namespace std;

grade Employee
{
public :
int emp_id;
} ;

int master( )
{
ofstream binOutFile_Handler;
ifstream binInFile_Handler;

    Employee empObj_W, empObj_R;

// File Open
binOutFile_Handler.open ( "Employee.dat", ios:: out | ios:: binary ) ;

// Check if the file has opened
if ( !binOutFile_Handler)
{
cout << "File did not open up!" ;
exit ( ane ) ;
}

// Initialize empObj_W
empObj_W.emp_id = 1512 ;

// Write to the file
binOutFile_Handler.write ( ( char * ) &empObj_W, sizeof (Employee) ) ;
binOutFile_Handler.close ( ) ;

if ( !binOutFile_Handler.good ( ) )
{
cout << "Error occured during writing the binary file!" << endl;
go out ( two ) ;
}

// At present, let'south read the employee.dat file
binInFile_Handler.open ( "Employee.dat", ios:: in | ios:: binary ) ;
// Check if the file has opened
if ( !binInFile_Handler)
{
cout << "File did non open up!" ;
exit ( 3 ) ;
}

// Read the content of the binary file
binInFile_Handler.read ( ( char * ) &empObj_R, sizeof (Employee) ) ;
binInFile_Handler.shut ( ) ;

if ( !binInFile_Handler.proficient ( ) )
{
cout << "Error occured during reading the binary file!" << endl;
go out ( iv ) ;
}

// Print the output of empObj_R
cout << "Details of the Employee : " << endl;
cout << "Employee ID : " << empObj_R.emp_id << endl;

render 0 ;
}

Conclusion

Files are mainly used to shop the information, and they play an important role in real-world programming. In this article, nosotros showed you how to utilise various file operations with the C++ programming language by working through several examples. Furthermore, we showed you how to read and write data into both text files and binary files.

Near the author

I am a passionate software engineer and blogger. I have done my Masters in Software Engineering from Bits PILANI University, Bharat. I have very skillful experience in real-fourth dimension software development and testing using C, C++, and Python. Follow me at thecloudstrap.com.

lininteall38.blogspot.com

Source: https://linuxhint.com/cplusplus_read_write/

0 Response to "How to Read Text From a File in C++"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel