C++ Tutorial
Class and Object
Reference
Inheritance and Derivation
Polymorphism and Virtual Functions
Operator Overloading
Template
Exception
Object Oriented Advanced
Input/Output Stream
File Operations
In C++, you can open files for reading, writing, or appending using file streams provided by the <fstream>
library. This tutorial will demonstrate how to open a file using the std::ifstream
and std::ofstream
classes in C++.
To use file streams, you need to include the <fstream>
header:
#include <fstream>
To open a file for reading, use the std::ifstream
class (input file stream):
std::ifstream input_file("filename.txt");
You can also open the file using the open
member function:
std::ifstream input_file; input_file.open("filename.txt");
To check if the file has been opened successfully, use the is_open
member function:
if (input_file.is_open()) { // Perform file reading operations } else { std::cerr << "Error opening file" << std::endl; }
After you have finished using the file, close it using the close
member function:
input_file.close();
To open a file for writing, use the std::ofstream
class (output file stream):
std::ofstream output_file("filename.txt");
You can also open the file using the open
member function:
std::ofstream output_file; output_file.open("filename.txt");
By default, the std::ofstream
class will overwrite the file if it exists. If you want to append data to an existing file, open it using the std::ios::app
mode:
std::ofstream output_file("filename.txt", std::ios::app);
As with reading a file, you can check if the file has been opened successfully using the is_open
member function and close it using the close
member function:
if (output_file.is_open()) { // Perform file writing operations } else { std::cerr << "Error opening file" << std::endl; } output_file.close();
Here's an example that demonstrates opening a file for reading and writing:
#include <iostream> #include <fstream> #include <string> int main() { // Open the input file for reading std::ifstream input_file("input.txt"); // Check if the input file has been opened successfully if (input_file.is_open()) { std::string line; // Open the output file for writing std::ofstream output_file("output.txt"); // Check if the output file has been opened successfully if (output_file.is_open()) { // Read the input file line by line while (std::getline(input_file, line)) { // Write the line to the output file output_file << line << std::endl; } // Close the output file output_file.close(); } else { std::cerr << "Error opening output file" << std::endl; } // Close the input file input_file.close(); } else { std::cerr << "Error opening input file" << std::endl; } return 0; }
In this example, we first open an input file for reading and an output file for writing. We then read the input file line by line and write each line to the output file. Finally, we close both the input and output files.
How to open a file in C++:
std::ifstream
or std::ofstream
.#include <iostream> #include <fstream> int main() { // Open a file for reading std::ifstream inputFile("example.txt"); // Check if the file is open if (inputFile.is_open()) { std::cout << "File opened successfully!" << std::endl; // Perform file operations here... // Close the file inputFile.close(); } else { std::cerr << "Unable to open the file!" << std::endl; } return 0; }