- 论坛徽章:
- 0
|
下面两部分代码均用来剔除异常格式数据,设计意图为:代码1部分为改进的剔除任何异常格式数据,代码2为原来仅仅剔除"NNNN"的异常数据。现在的问题是,代码2能正常运行至程序结束,经过将代码2改为代码1后,程序不能运行至结束。请问下述两部分代码有区别吗
//// 判断是否为该组数据结束标志或错误格式。当读取的字符串长度不等于ID长度时, ////
//// 该行肯定不是记录的开始(可能为结束标志"NNNN",也可能为错误数据格式); ////
//// 当长度等于ID长度时,但如第5个字符为"=",则说明该字符串为错误数据格式, ////
//// 否则判定该行为记录的开始行。注:ID长度为5个字节 ////
fscanf(fp_Tem,"%s",strTemFlag);
//代码1:
iLen=strlen(strTemFlag);
while(iLen!=5 || strTemFlag[4]=='=')
{llPos3=_ftelli64(fp_Tem);
fscanf(fp_Tem,"%s",strTemFlag);
iLen=strlen(strTemFlag);
}
//代码2:
// if(strcmp(strTemFlag,"NNNN")==0)
// {llPos3=_ftelli64(fp_Tem);
// fscanf(fp_Tem,"%s",strTemFlag);
// }
//// 判断是否结束标志完成 //// |
|