1 首先,看到sscanf时,会想到scanf,唯一不同的是前者是以固定的字符串为输入源;后者是以屏幕为输入源。
2 sscanf函数的定义为 int sscanf(const char *str,const char * format,.......);函数说明,将参数str的字符串根据format字符串来格式化数据,转化后的结果存在于对应得函数参数内。 返回值为参数数目,返回0表示失败。
3 sscanf函数和正则式结合使用。想
4举例使用:
(1)sscanf("waascfg-aaa","%5s",str); 取指定长度的字符串,str="waasc”
(2)sscanf("waascfg-aaa","%[^-]",str);取“-”之前的字符串,str=“waascfg”
(3)sscanf("waascfg-aaa$","%[^-]",str);取“-”之后和“$”之间的字符串,str=“aaa”
(4)sscanf("waascfg, aaa","%[^ ]",str);取到指定字符为止的字符串,取遇到空格为止的字符串,str=“waascfg”
(5)sscanf("waascfg, aaa","%*s%s",str); 其中 %*s 表示第一个被匹配到的字符串waascfg被忽略掉了,取出空格后的字符串,既str=“aaa”。如果没有中间的空格,会返回空。
关于正则表达式: 1> %[..]当字符属于方括号里表达式表示的字符集继续读取,否则停止;方括号里时正则表示式,^是“忽略........”的意思。
2> %*[..]直接忽略方括号里字符集并继续读取