文件模式在 Turbo C++ 中不起作用

File modes are not working in turbo c++

我尝试使用像 ios::app 和 ios::ate 这样的文件模式,但它们不起作用。 每次我写入二进制文件时,内容都会被新内容替换。我什至尝试使用 seekp(ios::end) 而不是附加模式,它仍然不添加内容,而只是替换它。 这是我输入的代码:

#include<fstream.h>
 //included other required header files
   struct test 
   {char que[100];
   char ans[20];
    };

  int main()
{
test s ;
ofstream out("test.dat",ios::binary||ios::app);
strcpy(s.que,"abcd");
strcpy(s.ans,"agg");
out.write((char*)&s,sizeof(s));
return 0;
}

我不知道哪里出了问题。我想知道是不是因为 Turbo C++ 是一个旧的编译器?如果是这样,我如何将内容附加到文件末尾?

替换为:

ios::binary||ios::app

有了这个:

ios::binary | ios::app

要组合的操作使用 |(按位 or)而不是 ||(逻辑 or)绑定在一起。