努力不咕咕 2022-08-21 09:28 采纳率: 88.2%
浏览 38
已结题

结构体数组越界,生成解决方案没有问题,但调试被中断

问题遇到的现象和发生背景

读取数据,程序只能读取epochnum = 0到epochnum = 1000所包含的数据,程序生成解决方案时,无错误,但调试时被中断

问题相关代码,请勿粘贴截图

//OfileRead为结构体
int Oread(OfileRead *epoch,int epochnum)
{
ifstream oifs;
oifs.open("g.txt", ios::_Nocreate);
if (!oifs.is_open())
{
cout << "文件打开失败" << endl;
return -1;
}
cout << "文件打开成功" << endl;
char str[500];
epochnum = 0;
while (1)
{
if (oifs.eof())break;
int k = 0; epoch[epochnum].epochgps = 0;//gps卫星数
oifs.getline(str, 500);
if (strstr(str, "> ") != NULL)
{
sscanf(str, "> %d %d %lf %c ", &(epoch[epochnum].hour), &(epoch[epochnum].min), &(epoch[epochnum].sec), &(epoch[epochnum].flag));
epochnum++;
}
}
oifs.close();
delete[]epoch;
}

运行结果及报错内容

调试时,出现错误如图

img


点击中断,并设置对时间与epochnum的监视后,结果如下:

img

我的解答思路和尝试过的方法

解答思路:可能是1000以后的程序存入出错,但不清楚是哪里的问题
尝试运行输出,也只能输出前1000的相关数据,后续数据与程序都无法读入输出

  • 写回答

1条回答 默认 最新

  • qllaoda 2022-08-21 09:45
    关注

    编译器编译不做指针检查的。运行时候跑飞了,调试自然也就没法进行了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月29日
  • 已采纳回答 8月21日
  • 修改了问题 8月21日
  • 创建了问题 8月21日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改