目录
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函数通用规则
%[..] | 匹配到[..]里面的字符就一直取,[..]里面没有时停止【保留数据】 |
%*[..] | 匹配到[..]里面的字符就一直取,[..]里面没有时停止【舍弃数据】 |
%[^..] | 匹配到[..]里面的字符就停止【保留数据】 |
%*[^..] | 匹配到[..]里面的字符就停止【舍弃数据】 |