文件模式在turbo c ++中不起作用

时间:2015-08-28 17:13:35

标签: c++ binaryfiles 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 ++是一个旧的编译器?如果是这样,我如何将内容附加到文件的末尾?

1 个答案:

答案 0 :(得分:2)

替换它:

ios::binary||ios::app

有了这个:

ios::binary | ios::app

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