首页
社区
课程
招聘
[旧帖] [求助]vc++ 高手请进!!在线等... 0.00雪花
发表于: 2009-5-14 17:15 3241

[旧帖] [求助]vc++ 高手请进!!在线等... 0.00雪花

2009-5-14 17:15
3241
一段很简单的代码,编译通过,但每次运行都打开文件失败,输出:open stud.dat error!"
仔细研究了下,代码似乎没有问题,但为什么就 “open stud.dat error!”???
请高手帮忙分析一下,谢谢!!!

#include<iostream>
#include<fstream>
#include<string>
using namespace std;
struct student
{
        int num;
        string name;
        float score;
};

int main()
{
        student stud[5];
        stud[0].num=1001;stud[0].name="Li";stud[0].score=85;
        stud[1].num=1002;stud[1].name="Fun";stud[1].score=97.5;
        stud[2].num=1004;stud[2].name="Wang";stud[2].score=54;
        stud[3].num=1006;stud[3].name="Tan";stud[3].score=76.5;
        stud[4].num=1010;stud[4].name="Ling";stud[4].score=96;

        fstream iofiles("c:\\stud.dat",ios::in|ios::out|ios::binary);
       
        if(!iofiles)
        {
                cout<<"open stud.dat error!"<<endl;
                exit(1);
        }
               
        return 0;
}

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 14
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我的vc6编译有两个错误
2009-5-14 18:05
0
雪    币: 197
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
fstream iofiles("c:\\stud.dat",ios::in|ios::out|ios::binary);
  
  if(!iofiles)
  {
    cout<<"open stud.dat error!"<<endl;
    exit(1);
  }

我手上没有C编译器现在,因此没有调试你的程序,但我看了一下,发现个问题。

从你的代码上看iofiles应该是个函数调用(不好意思MSDN也没装),你后面的判断应该是以这个函数的返回值进行判断,但是你却用这个函数的名称作为判断标志,这里是不是有问题呢?
2009-5-14 18:31
0
雪    币: 52
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
帮忙分析一下噻?谢了
2009-5-14 18:31
0
雪    币: 285
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
看看有没有c:\\stud.dat
2009-5-14 18:36
0
雪    币: 52
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
没有,有的话就说明打开成功了
2009-5-14 18:39
0
雪    币: 1753
活跃值: (860)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
7
代码没什么问题`

在运行的时候
经自己`创建一个`
stud.dat  就是行了啊`
   程序在运行中不会自动创建该文件~!
2009-5-14 20:13
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
楼上正解,但是我尝试在C盘新建。bat文件还是说无法读取,尝试TXT通过。
2009-5-14 20:58
0
雪    币: 11
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
ios::in|ios::out|ios::binary
用法错误
2009-5-14 22:16
0
雪    币: 125
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
你那样的用法, 要打开的文件必须存在的 ,好好看看每个文件流的差异

ofstream.h 可以按照你那样的用法!!!但是你用fstream.h ,问题就在这里!!!
2009-5-15 00:18
0
雪    币: 116
活跃值: (56)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
ofstream iofiles("c:\\stud.dat",ios::in|ios::out|ios::binary|ios::app);
这样就可以创建文件
2009-5-15 10:53
0
游客
登录 | 注册 方可回帖
返回
//