xcc18 2019-07-24 15:46 采纳率: 0%
浏览 1384
已结题

absort()has been called警告?

在写程序时,希望实现从文件中按顺序取数据并存入类grade 的数组st[100]中,
但是从文件读取数据的时候遇到了这个警告,求助大神!!
读取程序段:

int Read(grade st[])  
{
    char names[20];   //学生姓名
    char courses[20];  //课程名称
    int codes;         //课程代号
    int marks;           //分数
    fstream File;
    File.open("score.txt",ios::in|ios::binary);
    if(!File)
    {
        cout<<"score.txt can't open!"<<endl;
        abort();
    }
      File.seekg(0);                                 //定位回文件头
      int i=0;
      while(File.peek()!=EOF)  
      {
          File>>codes;
          File>>courses;
          File>>names;
          File>>marks;
          st[i].setcode(codes);
          st[i].setcourse(courses);
          st[i].setname(names);
          st[i].setmark(marks);
          i++;
      }
   File.close();
   return i ;
}

grade类:

class grade:public fig
{
public:
    grade(char *n="ss",char *c="s",int code=0,int mark=0,int y=0,int m=0,int d=0)
    {
        strcpy(name,n);
        strcpy(course,c);
        this->code=code;
        this->mark=mark;
        number++;
    }
    ~grade(){number--;}
    grade(grade &a)
    {
        strcpy(name,a.name);
        strcpy(course,a.course);
        code=a.code;
        mark=a.mark;
    }
    void setname(char *n){strcpy(name,n);}
    void setcourse(char *n){strcpy(course,n);}
    void setcode(int k=0){code=k;}
    void setmark(int k=0){mark=k;}
    char *getname()
    {
        char *n;n=name;
        return n;
    }
    char *getcourse()
    {
        char *n;
        n=course;
        return n;
    }
    int getmark()
    {
        int n=mark;
        return n;
    }
    int getcode()
    {
        int n=code;
        return n;
    }
private:
    char name[20];//学生姓名
    char course[20];//课程名称
    int code;//课程代号
    int mark;//分数
    static int number;//计算录入信息总人数
};

主函数调用写法:

void main()
{
    grade st[100];
        int sum;
        sum=Read(st);
}
  • 写回答

3条回答 默认 最新

  • threenewbee 2019-07-24 15:55
    关注

    这多半是你数组越界或者访问了无效地址造成的。
    你的 char name[20];//学生姓名
    char course[20];//课程名称
    长度是足够

    评论

报告相同问题?

悬赏问题

  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退