环境AIX 4.3
编译器:cc
测试人员:Bluesgone
问题位置:分隔符中间没有数据导致sscanf没有读到后续的数据
时间:2007-11-06
地点:保密
程序用途:保密
fp= fopen("hello.txt","r" ;
printf(" open \n" ;
fgets(aczLine,1024,fp);
sscanf( aczLine,"%21[^|]|%21[^|]|%40[^|]|%2[^|]|%20[^|]|%12[^|]|%20[^|]|%20[
^|]|%40[^|]|%6[^|]|%1[^|]|%40[^|]|%20[^|]|%4[^|]|%9[^|]|%3[^|]|%8[^|]|%10[^|\n]"
,
s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s1 ;
printf(" %s<=>%s<=>%s<=>%s<=>%s<=>%s<=>%s<=>%s<=>%s<=>%s<=>%s<=>%s<=>%s
<=>%s<=>%s<=>%s<=>%s<=>%s \n",
s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s1 ;
我在使用sscanf解析分隔符为"|"的文件的时候,文件如下:
1111|1122|中国银联|13|412331|张学友|123||广东113|231111||||0|1233440|3|0||
第八个||中间没有数据,
sscanf就没有继续读下面的东西了,打印处理的结果就到231111为止,后面的就没有
打进变量了,请问这是为什么?多谢
[ 本帖最后由 bluesgone 于 2007-11-6 17:20 编辑 ] |