fstream.open() 不附加到现有文件

fstream.open() not appending to existing file

这是我的主要功能:

void main()

{
    Student s1 = Student(12, "Ali");
    Student s2 = Student(1, "Hassan");
    Student s3 = Student(8, "Bilal");

    s1.WriteFile();
    s2.WriteFile();
    s3.WriteFile();
}

而 WriteFile() 函数是:

void WriteFile()

    {
        fstream fileWriter, fileReader;

    string string_line;

    fileWriter.open("D:\A111.txt");

    while (!std::getline(fileReader, string_line).eof())
    {

    }

    cout << GetRoll_No() << " , " << GetName() << endl;

    fileWriter << GetRoll_No() << " , " << GetName() << endl;

    fileWriter.close();
    fileReader.close();
}

每当我调用它时,它只显示我在 A111.txt

中关注

8 , 比拉尔

那么为什么不将它追加到现有文件的末尾。请注意,filereader 仅在稍后尝试解决方案时才添加,它在没有 eof() 的情况下也会给出相同的错误

open方法应该这样使用,如果你想追加:

fs.open ("test.txt", std::fstream::out | std::fstream::app);

注意:std::fstream::app

你只是忘了将模式参数传递给 open() 函数。你在正确的轨道上,只需做这个小小的改变:

 fileWriter.open("D:\A111.txt",ios::app);