有一种沉默叫霸气,有一种内敛叫个性,有一种简单叫深遂,有一种不屑叫自我
分类: C/C++
2013-08-13 12:25:01
eg:取字符串” iios/adfadfad@dddd”中字符’/’与’@’之间部分
首先想到的是sscanf("iios/adfadfad@dddd", “%s/%s@%s”, var1, var2, var3); 失败!
失败的原因是C中取%s是以空格分割的,所以,模式“%s/%s@%s”中的第一个%s就会将"iios/adfadfad@dddd"取完。
进化为sscanf("iios/adfadfad@dddd","%*[^/]/%[^@]",buff); 成功!
%[]: 取指定字符集
%[^/]: 取到指定字符’/’为止的字符集
%*[^/]: 将取到指定字符’/’为止的字符集忽略