详细请见:http://www.360doc.com/content/07/0213/11/17255_365683.shtml
scanf()
1、可选的格式 %*X 代表可以跳过几个x类型的数据不读
也可以字符串类型
例如 读入时间11::12的时候 scanf(“%2d %*2c %2d”,&a,&b);
也可以scanf("%d :: %d",&a,&b);
a = 11 b = 12
2、读到制定的字符为止的字符串,如下例 遇到空格为止的字符串
scanf("%[^ ]", s ) ;
3、仅取包含制定字符集的字符串 如下例 取仅包含1到9和小写字母的字符串
scanf("%[1-9a-z]", buf);
4、取到指定字符集为止的字符串。如在下例中,取遇到大写字母为止的字符串
scanf("%[^A-Z]", buf);5、给定一个字符串““hello, world”,仅保留world。(注意:“,”之后有一空格)
sscanf(“hello, world”, "%*s%s", buf);
scanf的功能很类似于正则表达式, 但却没有正则表达式强大,所以如果对于比较复杂的字符串处理,建议使用正则表达式.
6、给定一个字符串iios/12DDWDFF@122,获取 / 和 @ 之间的字符串,先将 "iios/"过滤掉,再将非‘@‘的一串内容送到buf中
sscanf("iios/12DDWDFF@122", "%*[^/]/%[^@]", buf);
printf("%s\n", buf);
结果为:12DDWDFF