关于打开文件后会出现Debug Assertion Failed! fprintf.c Line:56报警

shuchunying2 2012-04-12 02:55:15
我在执行下面这段代码时没有问题,但是当运行下面这段代码,产生了一个a.xls文件后,我打开a.xls这个文件,同时在运行下面这段代码的过程中,就会出现Debug Assertion Failed! fprintf.c Line:56报警,不知为何?

#include <time.h>
#include "stdio.h"
#include<windows.h>

main()
{
#define pN 4
#define vN 4
const char param[pN][30]={"pt1.pv","pt2.pv","pt3.pv","pt4.pv"};
char VarName[vN][30]={"时间","工作人员","模式选择","进料流量"};
float fa;
int hh[4]={1,2,3,4};
FILE *fp;
int i,x,Y;
time_t timep;
struct tm *p;
int uu;
int loop;
for(loop=0;loop<3;loop++)
{
printf("Loop开始=%d",loop);
fp=fopen("D:\\全局脚本实验\\a.xls","a");
for(i=0;i<vN;i++)
{
fprintf(fp,"%s\t",VarName[i]);
}
fprintf(fp,"\n");
fclose (fp);
for(uu=1;uu<6;uu++)
{
fp=fopen("D:\\全局脚本实验\\a.xls","a");
time(&timep);
p=gmtime(&timep);
fprintf(fp,"%4d-%02d-%02d \t",(1900+p->tm_year),(1+p->tm_mon),(p->tm_mday));
fprintf(fp,"%s\t%s\t","操作人员","操作模式");
for(x=0;x<pN;x++)
{
for(Y=0;Y<4;Y++)
{
hh[Y]=rand();
}
fprintf(fp,"%d \t",hh[x]);
}

printf("time is %d\n",uu);
fprintf(fp,"\n");
fclose (fp);
Sleep(500);
}
printf("Loop=%d",loop);
}
return 0;
}
...全文
853 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangxulq 2012-05-10
  • 打赏
  • 举报
回复
其它地方有错误
Pillar1986 2012-04-18
  • 打赏
  • 举报
回复
assert如果是0就会失败的,楼主可以debug进去看一下是不是0了
SLSnake 2012-04-18
  • 打赏
  • 举报
回复
int _open(
const char *filename,
int oflag [,
int pmode]
);
用这个函数,pmode选共享方式打开
shuchunying2 2012-04-13
  • 打赏
  • 举报
回复
难道我已经打开了文件,就不能执行代码吗?能不能做到我在打开文件的情况下,运行上面的程序?
SLSnake 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

程序是能顺利运行,但是打开文件后,这时还运行程序就会报错。如果不打开文件或是在运行完程序后打开文件就没有问题
[/Quote]

fp=fopen("D:\\全局脚本实验\\a.xls","a");
这个后面加个检查fp的语句,看是否打开成功。
你已经打开文件了,再运行程序,fopen打开文件失败,你没作检查,所以报错了。关了文件,打开成功,你的程序就没问题。

fp = null;
fp=fopen("D:\\全局脚本实验\\a.xls","a");
if(fp == null){。。。。。}
这么改下就可以了
shuchunying2 2012-04-12
  • 打赏
  • 举报
回复
程序是能顺利运行,但是打开文件后,这时还运行程序就会报错。如果不打开文件或是在运行完程序后打开文件就没有问题
SLSnake 2012-04-12
  • 打赏
  • 举报
回复
擦,没看清问题
fp=fopen("D:\\全局脚本实验\\a.xls","a");
你要检查fp,是否打开文件成功了,像你说的,就是打开失败了,但是你还是要往文件里写数据,这样会报断言错误
SLSnake 2012-04-12
  • 打赏
  • 举报
回复
没报错啊,我VS2005下顺利跑通,文件也写好了

70,024

社区成员

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

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