怎么表达丶 发表于 2019-12-23 09:18:33

求解答:0x0112200b 处有未经处理的异常: 0xC0000005: 读取位置 0xccccccd0时冲突

#include <fstream>
#include <iostream>
#include <stdlib.h>
typedef struct _student_
{
int num;
int name;
int six;
int score;
int rank;

}_student,*student;


void infile(student *stu)
{
int n;
char num; system("cls");
std::ifstream fin("C:test.txt");
if(!fin)
{
std::cout<<" 找不到所需文件!"<<std::endl;
system("PAUSE");
}

fin>>num>>n;
for(int k=0;k<11;k++)
{
        fin>>num;
}

for(int i=0;i<n;i++)
{
fin>>stu->num>>stu->name>>stu->six>>stu->score>>stu->score>>stu->score>>stu->score>>stu->score>>stu->score>>stu->score>>stu->rank;
};//跟cin一样的用法就是往外读
std::cout<< stu->num<<std::endl;
fin.close();
std::cout<<"成功读取信息"<<std::endl;
system("PAUSE");

}

int main()
{
        student *stuu;
        stuu=new student;
        infile(stuu);
        getchar();
        delete stuu;
        return 0;
}

我叫MD 发表于 2019-12-23 13:15:40

哥们,先给你提个意见,如果以后有读文件的操作,麻烦把文件也附上,不过好在你这个简单,如果麻烦点的还是有文件好调

    for (int i = 0; i < n; i++)
    {
      fin >> stu->num >> stu->name >> stu->six >> stu->score >> stu->score >> stu->score >> stu->score >> stu->score >> stu->score >> stu->score >> stu->rank;
    };//跟cin一样的用法就是往外读
    std::cout << stu->num << std::endl;


看好你的main函数,stuu new空间的时候,只申请的一个结构体的内存,而你的代码,就上面那段,是想往结构体数组中存,你空间不够,所以报错,C0000005(访问越界),你申请空间少了

怎么表达丶 发表于 2019-12-23 23:06:05

我叫MD 发表于 2019-12-23 13:15
哥们,先给你提个意见,如果以后有读文件的操作,麻烦把文件也附上,不过好在你这个简单,如果麻烦点的还是 ...

我以后会注意的,谢谢宁。

我叫MD 发表于 2019-12-26 01:04:25

怎么表达丶 发表于 2019-12-23 23:06
我以后会注意的,谢谢宁。

烦请给个最佳答案
页: [1]
查看完整版本: 求解答:0x0112200b 处有未经处理的异常: 0xC0000005: 读取位置 0xccccccd0时冲突