努力不咕咕 2022-08-20 15:04 采纳率: 94.4%
浏览 39
已结题

循环语句i++只能读到1000

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

使用循环语句中,inti;i++;其中i增加到1000,不继续增加了,这种情况是什么原因,如何修改

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

int i = 0;
while (1)
{
if (oifs.eof())break;
oifs.getline(str, 500);
if (strstr(str, "/ ") != NULL)
{
sscanf(str, "/%d %d %lf", &(epoch[i].hour), &(epoch[i].min), &(epoch[i].sec));
cout << "" << epoch[i].hour <<" "<< epoch[i].min << " " << epoch[i].sec<< "" << endl;
}
i++;
}

  • 写回答

1条回答 默认 最新

  • 浪客 2022-08-20 16:53
    关注
    文件内容超过1000行了么,没超过的话eof跳出循环了。
    if (strstr(str, "/ ") != NULL)建议改为
    
    char *s=strstr(str, "/ ") ;//定位到/所在位置。
    if (s!= NULL)
      sscanf(s, "/%d %d %lf", &(epoch[i].hour), &(epoch[i].min), &(epoch[i].sec));
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月28日
  • 已采纳回答 8月20日
  • 创建了问题 8月20日