与sscanf函数的一见钟情(真是相见恨晚!)

       最近在项目中发现了sscanf函数,你这个函数咋就这么牛逼呢?

 

       看看,如何分割字符串:

#include 
using namespace std;

int main()
{
	char str[100] = "    id   =   123456   "; // 注意:等号两边必须留空字符
	char str1[20] = {0};
	char str2[20] = {0};
	sscanf(str, "%s = %s", str1, str2);  // 注意:等号两边必须留空字符;str1为"id", str2为"123456"

	return 0;
}

 

     继续看下面的程序:

#include 
using namespace std;

int main()
{
	char buf[512] = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ;
	sscanf("123456 ", "%4s", buf); // buf为"1234"

	return 0;
}

 

#include 
using namespace std;

int main()
{
	char buf[100] = {0};
	sscanf("123456   abcdedf", "%[^ ]", buf); // buf为"123456"

	return 0;
}

 

#include 
using namespace std;

int main()
{
	char buf[100] = {0};
	sscanf("123456 xyz ***  abcdedf", "%[^*]", buf); // buf为"123456 xyz "

	return 0;
}


 

#include 
using namespace std;

int main()
{
	char buf[100] = {0};
	sscanf("123456abcdedfBCDEFabc", "%[1-9a-z]", buf); // buf为"123456abcdedf"

	return 0;
}


     好了,我也不想穷尽sscanf的用法,不可能也没有必要。要用的时候,要记得想起,想起那个有用的sscanf, 然后快速查阅sscanf的功能,并找到你需要的信息,快速解决问题。

 

你可能感兴趣的:(S1:,C/C++)