请问这题哪错了?关于C++文件流

来源:百度知道 编辑:UC知道 时间:2024/09/22 14:32:01
#include<fstream>
#include<iostream>
using namespace std;
int main()
{int a[10],max=a[0],maxi=0;
ifstream infile("f1.dat",ios::in|ios::nocreate);
if(!infile) {cerr<<"打开错误!"<<endl;exit(1);}

for(int k=1;k<10;k++) {infile>>a[k];cout<<a[k]<<" ";}
for(k=0;k<10;k++) if(a[k]>max) {max=a[k];maxi=k;}

cout<<"最大数:"<<max<<endl<<"最大数序列号为:"<<maxi<<endl;
infile.close();return 0;}

运行错误提示
错误1:error C2039: 'nocreate' : is not a member of 'basic_ios<char,struct std::char_traits<char> >'
错误2:error C2065: 'nocreate' : undeclared identifier

问题出在:nocreate上面,可是我照着书上写的.应该没错...但是就是提示有错..
如果找不出来的话...只能算VC++6.0编译器问题了.
不知道大家认为?

ios::nocreate是在C++标准制定之前在<fstream.h>中有定义的。但是因为它跟系统平台相关密切,所以在C++标准中去掉了对它的支持。

#include<fstream>
#include<iostream>
using namespace std;

改为:
#include<fstream.h>
#include<iostream.h>