求助sscanf函数的使用
1。从"[aaa]"中获取"aaa"
sscanf("[aaa]", "[%s]", tmp1); --这样得到的tmp1是"aaa]"
2。从"bbb=ccc"中获取"bbb"和"ccc"
sscanf("bbb=ccc", "%s=%s", tmp1, tmp2); --这样得到的tmp1是"bbb=ccc",tmp2是""不要告诉我说用strcpy等函数可以实现,我只想知道用sscanf函数该如何实现,谢谢各位了先!
1。从"[aaa]"中获取"aaa"
sscanf("[aaa]", "[%s]", tmp1); --这样得到的tmp1是"aaa]"
2。从"bbb=ccc"中获取"bbb"和"ccc"
sscanf("bbb=ccc", "%s=%s", tmp1, tmp2); --这样得到的tmp1是"bbb=ccc",tmp2是""不要告诉我说用strcpy等函数可以实现,我只想知道用sscanf函数该如何实现,谢谢各位了先!
CString sZ = "bbb=ccc";
CString s1,s2;
sscanf(sZ,"%[1-9a-z]%*c%[1-9a-z]",s1.GetBuffer(100),s2.GetBuffer(100));
此法可以过滤用特殊字符分割的常规字符数据
scanf("[aaa]","[%[^]]s", tmp1);
应该和
scanf("[aaa]","[%[^]]", tmp1);效果一样后面这句就不明白了,加多个s就不对了,不明白。lfchen能不能解释一下
sscanf("bbb=ccc","%[^=]=%s", tmp1, tmp2);
sscanf("bbb=ccc", "%[^=]=%s", tmp1, tmp2);
%[^=]表示一直搜索到第一个=号为止的内容
然后=就匹配你的=符号,最后%s是获取剩余的字符串。