尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

sscanf函数用法

sscanf函数用法 sscanf函数函数原型将参数str的字符串根据参数format字符串来转换并格式化数据转换后的结果存于对应的参数内。sscanf(constchar*str,constchar*formatm,...)具体功能如下1根据格式从字符串中提取数据。如从字符串中取出整数、浮点数和字符串等。2取指定长度的字符串3取到指定字符为止的字符串4取仅包含指定字符集的字符串5取到指定字符集为止的字符串可以使用正则表达式进行字符串的拆分正则表达式:通过一个公式字符串去匹配特定格式的字符串判断这个字符串是否满足条件正则匹配规则:[1-9] :匹配一个字符这个字符在1-9范围内就满足条件[2-7] : 匹配一个字符这个字符在2-7范围内就满足条件[a-z] : 匹配一个字 符这个字符在a-z 范围内就满足条件[A,b,c,D,e,f] 匹配一个字符这个字符是集合中任意一个就满足条件[1-9, f-x] :匹配一个字符这个字符是1-9或者f-x集合中的任意一个就满足条件[^1] ^代表否定匹配一个字符这个字符只要不是1就满足条件[^2-8] : 匹配一个字符这个字符只要不是在2-8范围内就满足条件[^a-f] :匹配一个字符这个字符只要不在a-f 范围内就满足条件[^ ] 匹配一个字符这个字符只要不是空格就满足条件% 是 sscanf 格式说明符的起始标志区分 “普通匹配字符” 和 “数据解析规则”sscanf的本质是按格式从字符串中提取数据而 %是格式说明符的 “开关”—— 没有 %sscanf 会把字符当作普通匹配字符有了 %才会按照后续的字符解析对应类型的数据。使用正则表达式如何匹配字符串​ 正则表达式的匹配使用的贪心的匹配方式-只要是匹配的字符没有结束正则表达式会一直匹配下去。示例代码constchar*shttp://www.baidu.com:1234;charprotocol[32]{0};charhost[128]{0};charport[8]{0};sscanf(s,%[^:]://%[^:]:%[1-9],protocol,host,port);printf(protocol:%s\n,protocol);printf(host: %s\n,host);printf(port:%s\n,port);结果是http www.baidu.com1234sscanf(123456 abcdedf,%[^ ]buf);printf(%s\n,buf);结果为:123456sscanf(123456abcdedfBCDEF%[1-9,a-z]buf);printf(%s\n,buf);结果为:123456abcdedfsscanf(123456abcdedfBCDEF%[^A-Z]buf);printf(%s\n,buf);结果为:123456abcdedf
返回列表