Debug assertion failed-expression (Stream != NULL)

yuanyinlove 2013-02-06 11:34:24
本人将实时运算的数据写到txt中,程序运行了一段时间后,出现如下错误:

Debug assertion failed

File: f:\dd\vctools\crt_bld\self-x86\crt\fclose.c
Expression (Stream != NULL)

请问是怎么回事啊,每次报错的程序运行时间都不一样。这是文本写入的代码,其中的两个常量都比较大:
if((fp = fopen("trajectory.txt","w")) != NULL)
{
for( m = 0; m < SCAR_MAX_TRAJECTORY_NUMBER; m++)
{
fprintf(fp,"Trajectory ID: %d\n",m);
fprintf(fp,"FrameID\t\tX\tY\n");

for(n = 0; n < SCAR_TRAJECTORY_POINT_NUMBER; n++ )
{
// cvCircle(ima, cvPoint(trajectory_center[m][n].x, trajectory_center[m][n].y), 1, CV_RGB(0, 255, 0),2, 8,0);
if(trajectory_center[m][n].x > 0)
fprintf(fp,"%d\t\t%d\t%d\n",n, trajectory_center[m][n].x,trajectory_center[m][n].y);
}
fprintf(fp, "\n");
}
}
fclose(fp);
...全文
742 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
langeldep 2013-02-16
  • 打赏
  • 举报
回复
不好意思, 看错了, 你的报错是在fclose.c里的, 那就是你 fclose(fp); 这行代码执行的时候 , 其实fp = NULL的 你应该吧fclose(fp) 放在 if((fp = fopen("trajectory.txt","w")) != NULL) 后面的 { } 里, 而不是放在 {} 外面来fclose(fp)。 只能说明你 fp = fopen("trajectory.txt","w") 返回了NULL
langeldep 2013-02-16
  • 打赏
  • 举报
回复
Expression (Stream != NULL) 这行代码报错, 肯定就是stream = NULL 了, 但是你贴出的代码并没有看到有stream出现啊, 错误应该不在你贴出的代码这里。
ForestDB 2013-02-06
  • 打赏
  • 举报
回复
出问题后文件多大?

70,025

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧