This blog is about providing theory as well as simple executable codes of different programming languages such as java, C, C++, and web programming, etc. This blog will be helpful to the IT students to learn about programming.

Wednesday, February 15, 2023

How can we work with file in C++? Explain different file operating modes with example.

 In C++, we can work with files using the "fstream" library, which provides classes for reading from and writing to files. To use the "fstream" library, we need to include the "fstream" header file.

We can create objects of the "ofstream" and "ifstream" classes to write to and read from files respectively. We can then use member functions of these classes to perform file I/O operations.

To write to a file, we can open an output file stream with "ofstream" and write to the file using the "<<" operator. To read from a file, we can open an input file stream with "ifstream" and read from the file using the ">>" or "getline()" function. We can also check if the file is open using the "is_open()" function and close the file with the "close()" function.

In C++, files can be opened in different modes using the second argument to the "open()" function. The different file modes are:

  • "iso::in" - Open for input operations
  • "iso::out" - Open for output operation
  • "iso::app" - Append mode, i.e. the output is added to the end of the file
  • "iso::trunc" - Truncate mode, i.e. the file is deleted and recreated
  • "iso::binary" - Open in binary mode, i.e. non-text file
Here is an example of opening a file in different modes:

#include <iostream>
#include <fstream>
using namespace std;

int main() {
  ofstream myfile;

  // open file in output mode
  myfile.open("example.txt", ios::out);
  if (myfile.is_open()) {
    myfile << "This is a line." << endl;
    myfile.close();
  }

  // open file in input mode
  ifstream infile("example.txt", ios::in);
  if (infile.is_open()) {
    string line;
    while (getline(infile, line)) {
      cout << line << endl;
    }
    infile.close();
  }

  // open file in append mode
  myfile.open("example.txt", ios::app);
  if (myfile.is_open()) {
    myfile << "This is another line." << endl;
    myfile.close();
  }

  // open file in truncate mode
  myfile.open("example.txt", ios::trunc);
  if (myfile.is_open()) {
    myfile << "This is a new line." << endl;
    myfile.close();
  }

  return 0;
}

In this example, the file is opened in different modes, and the program writes to the file and reads from it accordingly.

No comments:

Post a Comment

If you have any doubts, please let me know

Slider Widget