我正在尝试使用sscanf()
循环读取字符串,但偏移量为零。什么是正确的方法,是否有可能跟踪偏移量?
在此处的示例中,offset
应该是 5,但实际值为 0,我必须手动将其设置为 5。
char line[35]=" -123 1 -25-1245 -12";
char *data=line;
char buf[6];
int offset;
int n,i;
for(i=0;i<5;i++){
if(sscanf(data,"%5[^\n\t]s%n",buf,&offset)==1){
n=atoi(buf);
data+=5;//offset;
printf("n= %5d offset= %d\n",n, offset);
}
}
结果是:
n= -123 offset= 0
n= 1 offset= 0
n= -25 offset= 0
n= -1245 offset= 0
n= -12 offset= 0