File handling in C++ is essential for working with external data sources, such as reading data from files and writing data to files. C++ provides a set of file stream classes that make file I/O operations straightforward. In this guide, we'll explore the basics of file handling in C++.
Writing to a File
You can use the ofstream class to write data to a file. Here's how to write text to a file:
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ofstream outFile(`output.txt`); if (outFile.is_open()) {
outFile << `Hello, World!` << endl;
outFile.close();
cout << `Data written to the file.` << endl;
} else {
cerr << `Error: Unable to open the file.` << endl;
} return 0;
}
In this example, we create an ofstream object, open the file `output.txt,` write data to it, and then close the file. If the file doesn't exist, it will be created.
Reading from a File
You can use the ifstream class to read data from a file. Here's how to read text from a file:
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream inFile(`input.txt`); if (inFile.is_open()) {
string line;
while (getline(inFile, line)) {
cout << line << endl;
}
inFile.close();
} else {
cerr << `Error: Unable to open the file.` << endl;
} return 0;
}
In this example, we create an ifstream object, open the file `input.txt,` and read its content line by line, displaying it to the console.
Appending to a File
You can use the ofstream class in append mode to add content to an existing file without overwriting its existing content:
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ofstream outFile(`output.txt`, ios::app); if (outFile.is_open()) {
outFile << `Appending text to the file.` << endl;
outFile.close();
cout << `Data appended to the file.` << endl;
} else {
cerr << `Error: Unable to open the file.` << endl;
} return 0;
}
In this example, we open the file `output.txt` in append mode using the ios::app flag and then append new content to it.
Conclusion
File handling is an important part of C++ programming, enabling you to work with external data sources. As you continue your C++ journey, you'll explore more advanced file handling techniques, such as binary file I/O and error handling.
