首页 > 编程语言 > 详细

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

时间:2017-08-23 00:14:44      阅读:342      评论:0      收藏:0      [点我收藏+]

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

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语言库函数

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!