Home > other >  I have been trying both write and read a file, but have been unable to
I have been trying both write and read a file, but have been unable to

Time:02-01

#include <iostream>
#include <fstream>
#include <cstdlib>
#include <string>
using namespace std;
int main() {
    fstream a_file_that_will_be_working_with("storage.txt");
    if (a_file_that_will_be_working_with.is_open()) {
        cout << "is open";
    }
    else
    {
        cout << "is not open";
    }
    a_file_that_will_be_working_with << "first text" << endl;
    a_file_that_will_be_working_with << "second text" << endl;
    while (a_file_that_will_be_working_with)
    {
        // read stuff from the file into a string and print it
        string strInput;
        a_file_that_will_be_working_with >> strInput;
        cout << strInput << '\n';
    }
     return 0;
}

What have I done wrong? When I use ifstream to read from a file it works, but it doesnt for fstream, I thought fstream is both ofstream and ifstream combined.

CodePudding user response:

See https://en.cppreference.com/w/cpp/io/basic_fstream for an example.

You need to "rewind" the file to read just written stuff (s.seekp(0);).

  •  Tags:  
  • Related