【Problem】

当我使用c free编写C++时,第一个发现对文件进行操作时,ios::noCreate已经不再使用了,第二个就是在执行下面的程序时出
现提示:This application has requested the Runtime to terminate it in an unusual way. Please contact the application’s support team for more information.

代码如下:

//随机访问二进制数据文件

#include<fstream>
using namespace std;
struct student{   //定义Student结构体
   int num;
   char name[5];
   float score; 
};

int main(){

    struct student stud[5]={  //初始化五个学生的基本信息
        {1001,"Li",85},
        {1002,"Fun",97.5},
        {1003,"Wang",54},
        {1006,"Tan",76.5},
        {1010,"Ling",96}
    };

    fstream iofile("stud.dat",ios::in|ios::out|ios::binary);
    //用fstream类定义输入输出二进制文件流对象iofile
    if(!iofile){
        cerr<<"open error!"<<endl;
        abort();
    } 
    for(int i=0;i<5;i++){    //向磁盘文件输出5个学生的数据 
        iofile.write((char *)&stud[i],sizeof(stud[i])); 
    }
    struct student stud1[5];
    for(int i=0;i<5;i=i+1){
        iofile.seekg(i*sizeof(stud[i]),ios::beg);//定位于第0,2,4学生数据的开头
        iofile.read((char *)&stud1[i/2],sizeof(stud1[0]));
        //先后读出三个学生的数据,存放到stud1[0],stud1[1],stud1[2]中
        cout<<stud1[i/2].num<<" "<<stud1[i/2].name<<" "<<stud1[i/2].score<<endl;
        } 
    cout<<endl;
    stud[2].num=1012;
    strcpy(stud[2].name,"Wu");
    stud[2].score=60;
    iofile.seekp(2*sizeof(stud[0]),ios::beg);        //定位于第三个学生数据的开头 
    iofile.write((char *)&stud[2],sizeof(stud[2]));  //更新第三个学生的数据 
    iofile.seekg(0,ios::beg);

    for(int i=0;i<5;i++){
        iofile.read((char *)&stud[i],sizeof(stud[i]));
        cout<<stud1[i/2].num<<" "<<stud1[i/2].name<<" "<<stud1[i/2].score<<endl;
    } 
    iofile.close(); 
    return 0;
}

【求助】

我在网上百度之后发现网上提供的办法如下:

1、进入命令行cmd
2、切换目录至windows下的system32(即 cd c:\Windows\System32)
3、执行Regsvr32 Msxml3.dll

我按照上面的流程走了一遍,发现there is no use.Sading~

之后我发现了另一种办法:
下载一个软件Dependency Walker 2.2,解压之后运行depends.exe,然后在里面打开你所要检查的.exe文件(我把我上面代码生成的可执行文件导入进去),然后你就会看到红色字体的消息,这里面就提示了你错误的消息。

其实就是缺少了很多.dll文件,这些文件都可以在脚本之家找到,将其放在System32文件夹里即可。


实在不懂为什么会少这些库文件,求有心人告知,万分感谢!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐