您的位置:首页 > 其它

sscanf用法总结

2016-01-27 00:00 381 查看
使用sscanf来提取字符串中的指定内容, 感觉还不错, 现在在这里做一个总结

注意代码中变量均无定义, 可以根据用法自行定义.

//1.基本用法
string = "hello world 88888";
sscanf(string, "%s %s %d", buf1, buf2, &digit);
//sscanf返回提取变量的个数

//2.提取指定长度的字符串
string = "a123ddd444";
sscanf(string, "%5s", buf1);
printf("%s\n", buf1); //a123d

//3.提取到指定字符为止的字符串
string = "Content-Length: 2556";
sscanf(string, "%[^:]:%d", buf1, &digit);

/*buf1:Content-Length                 digit: 2556*/

//3.提取到指定字符集
string = "123abcABC";
sscanf(string, "%[^a-z]", buf1);
/*buf1: 123*/

//4.获取到指定字符中间的字符
string = "ios<android>wp7";
sscanf(string, "%*[^<]<%[^>]", buf1);
/*buf1: android*/

//5.指定有跳过的字符
string = "iosVSandroid";
sscanf(string, "%[a-z]VS%[a-z]", buf1, buf2);
/*buf1: ios   buf2: android*/

//6.分割以某字符为间隔的字符串
string = "android-ios-wp7";
sscanf(string, "%[^-]-%[^-]-%[^-]", buf1, buf2, buf3);

//7.过滤掉不要的字符串
//用在%号后面加一*号,代表过滤这个字符串,不读取
string = "android ios wp7";
sscanf(string, "%s %*s %*s", buf1);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: