sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源。
1、一般用法
1 2 3 |
|
结果为:123456
2. 取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。
1 2 |
|
结果为:1234
3. 取到指定字符为止的字符串。如在下例中,取遇到空格为止字符串。
1 2 |
|
结果为:123456
4. 取仅包含指定字符集的字符串。如在下例中,取仅包含1到9和小写字母的字符串。
1 2 |
|
结果为:123456abcdedf
5. 取到指定字符集为止的字符串。如在下例中,取遇到大写字母为止的字符串。
1 2 |
|
结果为:123456abcdedf
6、给定一个字符串iios/12DDWDFF@122,获取 / 和 @ 之间的字符串,先将 "iios/"过滤掉,再将非'@'的一串内容送到buf中
1 2 |
|
结果为:12DDWDFF
7、给定一个字符串"hello, world",仅保留"world"。(注意:“,”之后有一空格)
1 2 |
|
结果为: %*s表示第一个匹配到的%s被过滤掉,即hello,被过滤了,如果没有空格则结果为NULL。
while(sscanf(p, %d%n ,&m,&n)==1)
从一个字符串中读进与指定格式相符的数据