1. 常见用法。


char buf[512];
sscanf("123456","%s",buf);//此处buf是数组名,它的意思是将123456以%s的形式存入buf中!
printf("%s\n",buf);
结果为:123456


2. 取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。
sscanf("123456","%4s",buf);
printf("%s\n",buf);
结果为:1234


3. 取到指定字符为止的字符串。如在下例中,取遇到空格为止字符串。


sscanf("123456abcdedf","%[^]",buf);
printf("%s\n",buf);
结果为:123456


4. 取仅包含指定字符集的字符串。如在下例中,取仅包含1到9和小写字母的字符串。


sscanf("123456abcdedfBCDEF","%[1-9a-z]",buf);
printf("%s\n",buf);
结果为:123456abcdedf


当输入:  sscanf("123456abcdedfBCDEF","%[1-9A-Z]",buf);
printf("%s\n",buf);
结果为:123456BCDEF


5. 取到指定字符集为止的字符串。如在下例中,取遇到大写字母为止的字符串。
sscanf("123456abcdedfBCDEF","%[^A-Z]",buf);
printf("%s\n",buf);
结果为:123456abcdedf


6、给定一个字符串iios/12DDWDFF@122,获取 / 和 @ 之间的字符串,
先将 "iios/"过滤掉,再将非'@'的一串内容送到buf中


sscanf("iios/12DDWDFF@122","%*[^/]/%[^@]",buf);
printf("%s\n",buf);
结果为:12DDWDFF


7、给定一个字符串“hello, world”,仅保留world。
(注意:“,”之后有一空格,%s遇空格停止,加*则是忽略第一个读到的字符串)


sscanf(“hello,world”,"%*s%s",buf);
printf("%s\n",buf);
结果为:world
%*s表示第一个匹配到的%s被过滤掉,即“hello,”被过滤了
如果没有空格则结果为NULL。

1. 常见用法。



char buf[512];


sscanf("123456","%s",buf);//此处buf是数组名,它的意思是将123456以%s的形式存入buf中!


printf("%s\n",buf);


结果为:123456




2. 取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。


sscanf("123456","%4s",buf);


printf("%s\n",buf);


结果为:1234




3. 取到指定字符为止的字符串。如在下例中,取遇到空格为止字符串。




sscanf("123456abcdedf","%[^]",buf);


printf("%s\n",buf);


结果为:123456




4. 取仅包含指定字符集的字符串。如在下例中,取仅包含1到9和小写字母的字符串。




sscanf("123456abcdedfBCDEF","%[1-9a-z]",buf);


printf("%s\n",buf);


结果为:123456abcdedf




当输入:  sscanf("123456abcdedfBCDEF","%[1-9A-Z]",buf);


printf("%s\n",buf);


结果为:123456BCDEF




5. 取到指定字符集为止的字符串。如在下例中,取遇到大写字母为止的字符串。


sscanf("123456abcdedfBCDEF","%[^A-Z]",buf);


printf("%s\n",buf);


结果为:123456abcdedf




6、给定一个字符串iios/12DDWDFF@122,获取 / 和 @ 之间的字符串,


先将 "iios/"过滤掉,再将非'@'的一串内容送到buf中




sscanf("iios/12DDWDFF@122","%*[^/]/%[^@]",buf);


printf("%s\n",buf);


结果为:12DDWDFF




7、给定一个字符串“hello, world”,仅保留world。


(注意:“,”之后有一空格,%s遇空格停止,加*则是忽略第一个读到的字符串)




sscanf(“hello,world”,"%*s%s",buf);


printf("%s\n",buf);


结果为:world


%*s表示第一个匹配到的%s被过滤掉,即“hello,”被过滤了


如果没有空格则结果为NULL。