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

请教出错在哪里?

bccnpop 发布于 2009-12-21 17:38, 1955 次点击
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
    int a[10],max,i,order;
    ifstream infile("f1.dat",ios::in|ios::nocreate);
    if(!infile)
    {
        cerr <<"open error!"<<endl;
        exit(1);
    }
    for(i=0;i<10;i++)
    {
        infile >>a[i];
        cout <<a[i]<<" ";
    }
    cout <<endl;
    max=a[0];
    order=0;
    for(i=1;i<10;i++)
    {
        if(a[i]>max)
        {
            max=a[i];
            order=i;
        }
    }
    cout <<"max="<<max<<endl<<"order="<<order<<endl;
    infile.close();
    return 0;
}
出错信息:
--------------------Configuration: 131 - Win32 Debug--------------------
Compiling...
131.cpp
E:\Program Files\Visual.C++.6.0\VC6_green\VC6\MyProjects\13\131\131.cpp(7) : error C2039: 'nocreate' : is not a member of 'basic_ios<char,struct std::char_traits<char> >'
E:\Program Files\Visual.C++.6.0\VC6_green\VC6\MyProjects\13\131\131.cpp(7) : error C2065: 'nocreate' : undeclared identifier
执行 cl.exe 时出错.

131.exe - 1 error(s), 0 warning(s)
我用的是VC6
请教下是出错在哪里了,谢谢
11 回复
#2
debroa7232009-12-22 00:35
可能是C++里没nocreate标记吧。
#3
caiv52009-12-22 21:32
看不懂 楼主       ifstream infile("f1.dat",ios::in|ios::nocreate);里面的 这个ios::in|ios::nocreate是什么意思?
  不加这个就可以运行 了
#4
秀痘魔导士2009-12-23 14:24
ios::nocreate
你自己想出来的?
#5
shiyuehai2009-12-23 14:29
ifstream infile("f1.dat",ios::in|ios::nocreate);那红色地方的一竖是什么意思啊,还有后面的那个ios::nocreate是什么意思啊,我更晕
#6
秀痘魔导士2009-12-23 14:33
以下是引用shiyuehai在2009-12-23 14:29:45的发言:

 ifstream infile("f1.dat",ios::in|ios::nocreate);那红色地方的一竖是什么意思啊,还有后面的那个ios::nocreate是什么意思啊,我更晕
一竖是或的意思,建议你翻下C++ PRIME ,ios::nocreate写错了吧

template<class _Dummy>
    const typename _Iosb<_Dummy>::_Openmode _Iosb<_Dummy>::_Nocreate;

这是定义

C++标准里已经去掉了


[ 本帖最后由 秀痘魔导士 于 2009-12-23 15:20 编辑 ]
#7
debroa7232009-12-23 22:27
竖线是“或”操作呀,基础语法!!!
nocreate是早期的C里的,在网上找了下,好象是DOS时代的东西。
#8
shiyuehai2009-12-23 23:31
回复 5楼 shiyuehai
呵呵,我知道是异或的意思,我问的是在这里有表示什么作用,是不是2个选一个方式打开的意思,刚学,请教下????
#9
lyqjixian2009-12-24 14:33
5555555555555555555555555555555555555555555555
#10
bccnpop2009-12-24 17:32
ios::in|ios::nocreate
打开一个已有的文件,如文件不存在,则打开失败,
我看的是谭浩强的C++程序设计,
版次2004年6月第一版  ,印次2009年5月第16次印刷

[ 本帖最后由 bccnpop 于 2009-12-24 17:36 编辑 ]
#11
hu33921002009-12-25 10:32
我问反正我没怎么看懂,但是看出来这是文件读写的部分,C++里面的那些标记都需要区分大小写,你那个可能是大小写出错了
#12
debroa7232009-12-25 21:14
http://cboard.
1