c语言中使用sscanf函数读读空数据的问题

c语言中使用sscanf函数读取字符串的数据时,字符串使用逗号(,)将数据隔开,但是如果2个逗号间没有数据时,将读取后续数据,这不是想要的结果。
使用的语句如图2 sscanf((const char*)b,"%*d,%*d,%*d,%[^,],%[^,]……")
如图1中第1行数据红色箭头部分,想得到的数据“a[0]=$GPSSV a[0]=3 a[1]=1 a[2]=09 a[3]=13 a[4]=80 a[5]=115 a[6]=51 a[7]=20 a[8]=31 a[9]=308 a[10]=空 a[11]=15 a[12]=57 a[13]=220 a[14]=空 a[15]=05 a[16]=50 a[17]=064 a[18]=52*74”
实际得到数据是“a[0]=$GPSSV a[0]=3 a[1]=1 a[2]=09 a[3]=13 a[4]=80 a[5]=115 a[6]=51 a[7]=20 a[8]=31 a[9]=308 a[10]=15 a[11]=57 a[12]=220 a[13]=05 a[14]=50 a[15]=064 a[16]=52*74 a[17]=空 a[18]=空”

谢谢大家解答![图片说明](https://img-ask.csdn.net/upload/201701/18/1484694890_623363.jpg)图片说明

1个回答

如果没有数据,那就这样定义数据,中间使用空格或者0,1代表。。sscanf只是按照格式读取而已,没有数据定义,肯定是读取后面的数据了。

  24,24, ,25,25 
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐