码迷,mamicode.com
首页 > 编程语言 > 详细

sscanf函数——强大的C语言库函数

时间:2017-08-23 00:52:37      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:语言   数据   char   return   images   取值   格式化   简单   image   

这个函数真的很强大,这篇随笔也将一直更新一些总结,直到涵盖大多数应用:

eg1:

今天公司项目中从云端获取了一段字符串---"+CBC: 0,90,4090"

我想获取其中的数字0,90,4090.我们当然可以写一个函数,判断,并且逐一取值,然后再糅合成想要的数据,但是这样也真的太麻烦了,于是sscanf就来了。

#include<stdio.h>
int main(void)
{
    int a;
    int b;
    int c;
    char *s="+CBC: 0,90,4090";
    sscanf(s,"+CBC: %d,%d,%d",&a,&b,&c);
    printf("%d %d %d\n",a,b,c);
    return 0;
}

技术分享

是不是很简单就完成了字符串中数字提取,而且可以格式化输入。

其中需要注意的是,一定要对应清楚,上面字符串中 +CBC: (空格)所以在sscanf中也一定要对应,空格别人有,你也得有,还有就是格式化的时候,如果以字符输入的形式,只能读取一个字节(当然实在char为一个字节的机器上)。

#include<stdio.h>
int main(void)
{
    int a;
    int b;
    char c;
    char *s="+CBC: 0,90,4090";
    sscanf(s,"+CBC: %d,%d,%c",&a,&b,&c);
    printf("%d %d %c\n",a,b,c);
    return 0;
}

上面红色部分,只是改成%c的形式,输出将只有一个字节:

技术分享

sscanf远远不止这点作用,更多待续...

sscanf函数——强大的C语言库函数

标签:语言   数据   char   return   images   取值   格式化   简单   image   

原文地址:http://www.cnblogs.com/yangguang-it/p/7414242.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!