首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

.exe 中的 0x5da7edfc (msvcr90d.dll) 处未处理的错误: 0xC0000005: 写入位置 0xabababab 时发生访问冲突

2012-03-16 
.exe 中的 0x5da7edfc (msvcr90d.dll) 处未处理的异常: 0xC0000005: 写入位置 0xabababab 时发生访问冲突

.exe 中的 0x5da7edfc (msvcr90d.dll) 处未处理的异常: 0xC0000005: 写入位置 0xabababab 时发生访问冲突
红色部分在调试过程中到最后一个人信息显示之后就出现错误,求教是什么原因?
TXT信息
00000001 苏三 123457 计科1班 
00000002 李四 123453 计科1班 
00000003 王五 123452 计科2班
00000004 张四 111123 网工4班
00000005 张三 234211 计软3班


#include<iostream>
#include<string>
#include<fstream>
using namespace std;
struct Information
{
string id;//学生学号
string stuName;//学生名字
string key;//学生密码
string ban;//学生班级
};
class Student
{
public:
Information students;
Student(){}
~Student(){}
int CountLines(char*filename);
void Show(int); //从txt读取学生信息
};

int Student::CountLines(char*filename)
{
ifstream ReadFile;
int n=0;
string temp;
ReadFile.open(filename,ios::in);
if(ReadFile.fail())
{
return 0;
}
else
{
while(getline(ReadFile,temp))
{
n++;
}
return n;
}
ReadFile.close();
}
void main()
{
Student mm;
  string num;
string name;
string code;
string Ban;
int LINES;
ifstream f("Student.txt",ios::in);
if(!f)
{
cerr<<"没有学生记录可供查询!"<<endl;
abort();
}
else
{
LINES=mm.CountLines("Student.txt");
Information *students=new Information[LINES-1];
int i=0;
while(!f.eof())
{
f>>num>>name>>code>>Ban;
  students[i].id=num;
students[i].stuName=name;
 students[i].key=code;
students[i].ban=Ban;
i++;
}
f.close();
}
}


[解决办法]
楼主能确保文件中一行是一个信息,而且最后还带一个换行吗
[解决办法]

C/C++ code
#include <iostream>#include <string>#include <fstream>using namespace std;struct Information{    string id;    //学生学号    string stuName;//学生名字    string key;//学生密码    string ban;//学生班级};class Student{public:    Information students;    Student(){}    ~Student(){}    int CountLines(char*filename);    void Show(int); //从txt读取学生信息};int Student::CountLines(char*filename){    ifstream ReadFile;    int n=0;    string temp;    ReadFile.open(filename,ios::in);    if(ReadFile.fail())    {        return 0;    }    else    {        while(getline(ReadFile,temp))        {            n++;        }        return n;    }    ReadFile.close();}void main(){    Student mm;    string num;        string name;    string code;    string Ban;    int LINES;    ifstream f("Student.txt",ios::in);    if(!f)    {        cerr<<"没有学生记录可供查询!"<<endl;        abort();    }    else    {        LINES=mm.CountLines("Student.txt");        Information *students=new Information[LINES];//数组不够用,溢出        int i=0;        while(!f.eof())        {            f>>num>>name>>code>>Ban;             students[i].id=num;             students[i].stuName=name;             students[i].key=code;             students[i].ban=Ban;            cout<<students[i].id<<" "<<students[i].stuName<<" "<<students[i].key<<" "<<students[i].ban<<endl;            i++;        }        f.close();    }} 

热点排行