目录
sccanf函数介绍
包含头文件:#include "stdio.h |
||
函数描述: |
n = sscanf(const char *str, const char *format, str1,str2...) |
|
函数参数: |
str |
操作的字符串(从这个字符串里进行截取) |
format |
判断/选择条件(输入不同的判断或者截取条件) |
|
str1 |
接收字符串1(如果只截取一段,放置一个地址即可) |
|
str2 |
接收字符串2(如果截取两段,需要放置两个地址) |
|
n |
截取的段数(根据不同的段数读取n的数值,可用于条件判断) |
sccanf函数用法示例
sscanf("1456","%4s",buf); |
取最大长度为4字节的字符串 |
sscanf("1256 abcdedf", "%[^ ]", buf); |
取遇到空格为止字符串 |
sscanf("1256aedfBEF", "%[1-9a-z]", buf); |
取仅包含1到9和小写字母的字符串 |
sscanf("1256aedfDEF", "%[^A-Z]", buf); |
取遇到大写字母为止的字符串 |
sscanf("iios/12DDFF@122", "%*[^/]/%[^@]", buf); |
获取 / 和 @ 之间的字符串 |
sscanf(“hello, world”, "%*s%s", buf); |
仅保留world(注意:“,”之后有一空格) |
sscanf(AT+CMD=VDDC,12678,"%*[^=]=%[^,],%s",ssid,pwd); |
获取=和,之间的字符串为ssid,再获取,后面的字符串为pwd(注意:“,”之后没有空格) |
sscanf("2006:03:18", "%d:%d:%d", a, b, c); |
分隔字符串 |
sccanf函数通用规则
%[..] |
匹配到[..]里面的字符就一直取,[..]里面没有时停止【保留数据】 |
%*[..] |
匹配到[..]里面的字符就一直取,[..]里面没有时停止【舍弃数据】 |
%[^..] |
匹配到[..]里面的字符就停止【保留数据】 |
%*[^..] |
匹配到[..]里面的字符就停止【舍弃数据】 |