sscanf一个技巧--获取int的时候十进制十六进制不同

https://blog.csdn.net/u012449147/article/details/38703205

警惕sscanf的使用

 

今天发现一个问题    其实很好的  以后可以采用!    不需要空格了 看图吧

eg

来料是 :        11897B6B 207fcbb92ad811eabd1d98039b472dc0 733004c92ad811eabd1d98039b472dc0
输出是:         11897--B6B--207fcbb92ad811eabd1d98039b472dc0

期待输出是:  11897B6B--207fcbb92ad811eabd1d98039b472dc0--733004c92ad811eabd1d98039b472dc0

问题在那?
    int guid=0;
    char villageID[33]={0}, buildingID[33]={0};
    
    sscanf( (const char*)data,"%d%s%s",&guid,villageID,buildingID) ; 
    这样的 一个U32 +STRING +STRING
    
    因为%d不行

 

 

sscanf一个技巧--获取int的时候十进制十六进制不同_第1张图片

 

sscanf一个技巧--获取int的时候十进制十六进制不同_第2张图片

你可能感兴趣的:(C语言基础)