sscanf 是个好东西

sscanf是一个很好用的函数,利用它可以从字符串中取出整数、浮点数和字符串等等。它的使用方法简单,特别对于整数和浮点数来说。它还有处理字符串时的一些高级用法。

1. 常见用法。

以下是引用片段:
char str[512] = {0};
sscanf("123456 ", "%s", str);
printf("str=%sn", str);

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

以下是引用片段:
sscanf("123456 ", "%4s", str);
printf("str=%sn", str);

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

以下是引用片段:
sscanf("123456 abcdedf", "%[^ ]", str);
printf("str=%sn", str);

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

以下是引用片段:
sscanf("123456abcdedfBCDEF", "%[1-9a-z]", str);
printf("str=%sn", str);

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

以下是引用片段:
sscanf("123456abcdedfBCDEF", "%[^A-Z]", str);
printf("str=%sn", str);

 

#include<iostream>

using namespace std;

int main()
{
	char buf[30];
	int a;
	char buf2[30];
	char buf3[30];
	sscanf("hello,123take,get,miss","%[^,],%d%*[^,],%[^,]%s",buf,&a,buf2,buf3);
	cout<<buf<<endl
		<<a<<endl
		<<buf2<<endl
		<<buf3<<endl;
	
	return 0;
}

运行结果如下:

image

posted @ 2012-04-15 20:37  CMooon  阅读(262)  评论(0)    收藏  举报