我只贴出错误部分和主程序。 请帮忙。
就是第二次调用这个函数的时候就报错,说参数非法。
= fopen(, "r");
如果(==空)
(“错误\n”);
-1;
}这里报错errno=22。
主要的()
/* 检查文件是否打开成功*/
l_fp = fopen(,"r");
如果( l_fp == NULL )
("文件不存在或有错误,请检查[%s]\n",);
1;
(l_fp);
痕迹
ret=Sel(.reply,"='Y'");
如果(返回)
(,"sql错误!!%s,%d [%d]",,,ret);
去;
同时(1)
(&,0x00,( ));
ret=Sel(&,.reply);
if(ret==100) 中断;
否则如果(ret){
(,"sql错误!!%s,%d [%d]",,,ret);
去;
/* 根据组织编号循环处理报告*/
对于(i=0;我
(&, 0x00, ( ));
(&);
(,);
/* 创建文件*/
痕迹
ret = (&[i], );
if( ret ) 转到;
("[%s][%d]\n",,);
=[i];
/* 第一次扫描报告,记录所有变量*/
ret = ();
("[%s][%d]\n",,);跟踪
if( ret ) 转到;
/* 验证计算公式和变量*/
如果(!=)
("变量定义和计算公式错误:数量不匹配\n");
("=[%d]\n",);
("=[%d]\n",);
;
如果(());
/* 计算变量的值*/
();
/*打印报告*/
ret = (,g_fp);
如果(返回)转到;
(g_fp);
如果(fp)
(fp);
("[%s][%d]提交数据库!\n",,);
("组织[%s]已完成\n",.br_no);
Sel();
/******************************************************** ***** *************
开始扫描报告的所有变量
输入:
char* 格式文件名
FILE* 报告文件句柄
0 --
1-失败
****************************************************** *************/
(字符*)
[];
文件*;
;
/* 打开格式文件 */
= fopen(, "r");
如果(==空)
(“错误\n”);
-1;
("[%s][%d]\n",,);
while(!feof())
(,0x00,(字符));
fgets( , +1 , );
();
();
/*** 如果该行开头是#或//,则表示该行是注释***/
if( [0]=='#' || !( , "//", 2 ) ) ;
/*** 如果是空行则跳过***/
if( ()==0||[0]=='\0'||[0]=='\n')
;
if( !(,"正文",4) )
/*** 开始扫描报告***/
();
}别的
;
("[%s][%d]\n",,);
0;