注册 登录
编程论坛 C++教室

写文件的问题

魔鬼之子 发布于 2009-12-02 19:50, 646 次点击
# include<iostream>
# include<fstream>
using namespace std;

void main(){
   ofstream out;

   out.open("grade",ios::out,filebuf::sh_compat);
   out<<"C++"<<" "<<89.5<<endl;
   out<<"English"<<" "<<93.5<<endl;
   out<<"Maths"<<" "<<87<<endl;
   out.close();
}
编译后:
Compiling...
FIO.CPP
F:\vc++\vc++程序\MyObject\FIOStreamObject\FIO.CPP(8) : error C2039: 'sh_compat' : is not a member of 'basic_filebuf<char,struct std::char_traits<char> >'
F:\vc++\vc++程序\MyObject\FIOStreamObject\FIO.CPP(8) : error C2065: 'sh_compat' : undeclared identifier
执行 cl.exe 时出错.
FIOStreamObject.exe - 1 error(s), 0 warning(s)

我查msdn的时候open()函数里面的确有三个参数也,怎么会出现这样的错误呢?
1 回复
#2
debroa7232009-12-17 16:59
我在网上查到这个:
filebuf::sh_compat
Compatibility share mode (MS-DOS only).
我想会不会是现在新的运行库抛弃了这个模式,我在自己的编译器中也没有找到它。你试试用更古老的C运行库,没准有它。
1