
关于打开文件后会出现Debug Assertion Failed! fprintf.c Line:56报警 5
我在执行下面这段代码时没有问题,但是在运行下面这段代码的过程中,如果打开了a.xls这个文件,就会出现DebugAssertionFailed!fprintf.cLine...
我在执行下面这段代码时没有问题,但是在运行下面这段代码的过程中,如果打开了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;
} 展开
#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;
} 展开
展开全部
打开了a.xls这个文件,你再删除这个文件试试,肯定不能删除。同理,你已经打开它,所以在你的程序中无法再次打开它进行写入操作。

2023-06-12 广告
STM32是ARM Cortex内核单片机和微处理器市场和技术方面的佼佼者,目前提供16大产品线 (F0, G0, F1, F2, F3, G4, F4, F7, H7, MP1, L0, L1, L4, L4+,L5, WB),超过100...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询