sscanf():从一个字符串中读进与指定格式相符的数据。
函数原型:
Int sscanf(const char*,const char*,....);
sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源。
支持的集合操作:
%[a-z]表示匹配a到z中任意字符,贪婪性(尽可能多的匹配)
%[aB']匹配a、B、'中一员,贪婪性
%[^a] 匹配非a的任意字符,贪婪性
例子:
char buf[512]
1,sscanf("123456","%s",buf);//将123456以%s的形式存入buf中
2,sscanf("123456","%4s",buf);//取最大长度为4字节的字符串。
3,sscanf("123456 abcdef","%[^ ]",buf);//取遇到空格为止的字符串。
4,sscanf("123456abcdedfBCDEF", "%[1-9a-z]", buf); //取仅包含指定字符集的字符串。如在下例中,取仅包含1到9和小写字母的字符串。
5,sscanf(“hello, world”, "%*s%s", buf); //%*s表示第一个匹配到的%s被过滤掉,即hello被过滤了