Using the std::fstream object for file I/O

When it comes to file input and output (I/O) in C++, the std::fstream object provides a powerful and flexible way to read from and write to files. Whether you need to read data from a file, write data to a file, or perform both operations simultaneously, the std::fstream object is a great choice.

Reading from a File

To read data from a file using std::fstream, you will need to perform the following steps:

  1. Include the necessary header file:
    #include <fstream>
    
  2. Declare an std::fstream object and open the file in read mode:
    std::fstream file;
    file.open("filename.txt", std::ios::in);
    

    Note: Replace “filename.txt” with the actual name and path of your file.

  3. Check if the file successfully opened:
    if (file.is_open()) {
     // File opened successfully, proceed with reading
     // Read data using the file object
    } else {
     // Failed to open the file
    }
    
  4. Read data from the file:
    std::string line;
    while (std::getline(file, line)) {
     // Process each line of data
    }
    
  5. Close the file after reading is complete:
    file.close();
    

Writing to a File

To write data to a file using std::fstream, you will need to perform the following steps:

  1. Include the necessary header file:
    #include <fstream>
    
  2. Declare an std::fstream object and open the file in write mode:
    std::fstream file;
    file.open("filename.txt", std::ios::out);
    

    Note: Replace “filename.txt” with the actual name and path of your file.

  3. Check if the file successfully opened:
    if (file.is_open()) {
     // File opened successfully, proceed with writing
     // Write data using the file object
    } else {
     // Failed to open the file
    }
    
  4. Write data to the file:
    file << "Hello, file!" << std::endl;
    file << "Data to be written." << std::endl;
    
  5. Close the file after writing is complete:
    file.close();
    

Simultaneous Reading and Writing

The std::fstream object also allows simultaneous reading and writing operations on a file. To achieve this, you need to open the file in both input and output modes:

std::fstream file;
file.open("filename.txt", std::ios::in | std::ios::out);

From this point, you can use the file object to both read from and write to the file.

#C++ #FileIO