sscanf的用法
来源:互联网 发布:淘宝图片 编辑:程序博客网 时间:2024/06/04 23:45
sscanf的用法,我们首先要知道此接口的实现。
sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。
返回值 成功则返回参数数目,失败则返回-1,错误原因存于errno中。 返回0表示失败 否则,表示正确格式化数据的个数 例如:sscanf(str,"%d%d%s", &i,&i2, &s); 如果三个变成都读入成功会返回3。 如果只读入了第一个整数到i则会返回1。证明无法从str读入第二个整数。
typedef struct{
char a;
char b;
}param;
char property[10];
property_get(FLY_SET_CURCLEARKEY,property,"255");
sscanf(property,"%d", ¶m->b);
property_get(FLY_SET_CURCLEARKEY,property,"25");
sscanf(property,"%d", ¶m->a);
结果:a=25,b=0;
原因:b被清空了,系统给予0值。
改为:
property_get(FLY_SET_CURCLEARKEY,property,"255");
sscanf(property,"%hhd", ¶m->b);
property_get(FLY_SET_CURCLEARKEY,property,"25");
sscanf(property,"%hhd", ¶m->a);
%hhd 取一个字节地址,%d取4个字节地址。
扩展:
1. 常见用法。
charstr[512]={0};
sscanf("123456","%s",str);
printf("str=%s",str);
2. 取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。
sscanf("123456","%4s",str);
printf("str=%s",str);
3. 取到指定字符为止的字符串。如在下例中,取遇到空格为止字符串。
sscanf("123456abcdedf","%[^]",str);
printf("str=%s",str);
4. 取仅包含指定字符集的字符串。如在下例中,取仅包含1到9和小写字母的字符串。
sscanf("123456abcdedfBCDEF","%[1-9a-z]",str);
printf("str=%s",str);
5. 取到指定字符集为止的字符串。如在下例中,取遇到大写字母为止的字符串。
sscanf("123456abcdedfBCDEF","%[^A-Z]",str);
printf("str=%s",str);
- sscanf函数的用法
- sscanf的一些用法
- sscanf的一些用法
- sscanf函数的用法
- sscanf 函数的用法
- sscanf 函数的用法
- 关于sscanf的用法
- sscanf的用法
- C sscanf的用法
- sscanf的高级用法
- sscanf的一个用法
- sscanf函数的用法
- sscanf的用法
- sscanf函数的用法
- sscanf函数的用法
- scanf sscanf的用法
- sscanf函数的用法
- sscanf函数的用法
- 大牛的博客收集
- java,php,asp电子商务系统比较
- 电梯调度算法总结
- 【Perl读书笔记】defined函数
- STM32系列MCU命名规则,有助于了解各型号区别
- sscanf的用法
- linux 查看目录大小和查看磁盘使用情况
- sysctl命令详解
- Perl threads 摘要
- android view构造函数研究
- [JSOI2008]魔兽地图DotR tree_dp
- IIS7+ - 令人迷惑压缩(Compression)设置
- Loadlibrary 失败:998 内存分配访问无效
- Android短信拦截