怎么循环过后的程序都没有执行??

djwinter 2002-07-30 01:47:53
void data_get_data()
{
struct DATA data[10000];
int arr=0;
int data_times_in[10000]={0};
int data_times_out[10000]={0};
FILE *fp1,*fp2,*fp3;
char szbuffer1[8]={0};
char szbuffer2[8]={0};
char szbuffer3[28]={0};
char szbuffer4[26]={0};
char szbuffer5[7]={0};
char szbuffer6[1]={0};
fp1=fopen(".\\data\\data.txt","r");
fp3=fopen(".\\out\\times.txt","w");
if (fp1==NULL)
{
puts("File Not Exist!\n");
exit(0);
}
for(int n=1;!feof(fp1);n++)
{
read_line(fp1, szbuffer1); //读记录第1行数据
fp2=fopen(".\\temp\\temp.$","w");
fp3=fopen(".\\out\\times.txt","a");
fwrite(szbuffer1, 1,8, fp2);
fclose(fp2);
fp2=fopen(".\\temp\\temp.$","r");
fscanf(fp2,"NO:%d",&data[arr].number_from);
fprintf(fp3,"NO:%d\n",data[arr].number_from);
fclose(fp2);
fclose(fp3);

read_line(fp1, szbuffer2); //读记录第2行数据
fp2=fopen(".\\temp\\temp.$","w");
fp3=fopen(".\\out\\times.txt","a");
fwrite(szbuffer2, 1, 8, fp2);
fclose(fp2);
fp2=fopen(".\\temp\\temp.$","r");
fscanf(fp2, "TO:%d",&data[arr].number_to);
fprintf(fp3,"TO:%d\n",data[arr].number_to);
fclose(fp2);
fclose(fp3);

read_line(fp1, szbuffer3); //读记录第3行数据
fp2=fopen(".\\temp\\temp.$","w");
fwrite(szbuffer3, 1,28, fp2);
fclose(fp2);
fp2=fopen(".\\temp\\temp.$","r");
fscanf(fp2, "TIMESTART:%d-%d-%d %d:%d:%d",
&data[arr].ftime_start.ft_year,&data[arr].ftime_start.ft_month,&data[arr].ftime_start.ft_days,&data[arr].ftime_start.ft_hour,&data[arr].ftime_start.ft_minute,&data[arr].ftime_start.ft_second);
fclose(fp2);

read_line(fp1, szbuffer4); //读记录第4行数据
fp2=fopen(".\\temp\\temp.$","w");
fwrite(szbuffer4, 1, 26, fp2);
fclose(fp2);
fp2=fopen(".\\temp\\temp.$","r");
fscanf(fp2, "TIMEOUT:%d-%d-%d %d:%d:%d",
&data[arr].ftime_out.ft_year,&data[arr].ftime_out.ft_month,&data[arr].ftime_out.ft_days,&data[arr].ftime_out.ft_hour,&data[arr].ftime_out.ft_minute,&data[arr].ftime_out.ft_second);
fclose(fp2);

fp3=fopen(".\\out\\times.txt","a");
fprintf(fp3,"TIME:%d-%d\n",data[arr].ftime_start.ft_year,data[arr].ftime_start.ft_month);
fclose(fp3);

//把第三行第四行的时间转化为记次表,因为一定是本年本月的记录,因此假如年月不同,输出次数为0,不记费
fp3=fopen(".\\out\\times.txt","a");
fprintf(fp3,"DEGREEIN:%d\nDEGREEOUT:%d\n",data_times_in[arr],data_times_out[arr]);
fclose(fp3);

read_line(fp1, szbuffer5); //读记录第5行数据
fp2=fopen(".\\temp\\temp.$","w");
fp3=fopen(".\\out\\times.txt","a");
fwrite(szbuffer5, 1,7, fp2);
fclose(fp2);
fp2=fopen(".\\temp\\temp.$","r");
fscanf(fp2,"TYPE:%d",&data[arr].type);
fprintf(fp3,"TYPE:%d\n",data[arr].type);
fclose(fp2);
fclose(fp3);

read_line(fp1,szbuffer6); //读记录第6行数据
fp3=fopen(".\\out\\times.txt","a");
fprintf(fp3,"\n");
fclose(fp3);

++arr;
}
printf("%d\n%d",arr,n)
}


最后一行程序始终没有执行??
这是什么原因呀???
好奇怪,看了半天也没有找到错误的原因:(
...全文
17 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
glassshark 2002-08-04
  • 打赏
  • 举报
回复
通不过编译,有错误没改。
elevenj 2002-07-30
  • 打赏
  • 举报
回复
一共几行?你一个循环环读6行,如果7行会不会出现这样的情况

你还是跟踪arr看看先
LeeMaRS 2002-07-30
  • 打赏
  • 举报
回复
有可能是read_line函数的问题.

69,369

社区成员

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

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