Chinaunix首页 | 论坛 | 博客
  • 博客访问: 326810
  • 博文数量: 63
  • 博客积分: 2344
  • 博客等级: 大尉
  • 技术积分: 628
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-13 11:09
个人简介

有一种沉默叫霸气,有一种内敛叫个性,有一种简单叫深遂,有一种不屑叫自我

文章分类

全部博文(63)

文章存档

2013年(10)

2012年(12)

2011年(1)

2010年(9)

2009年(31)

分类: 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); 成功!

%[]: 取指定字符集

%[^/]: 取到指定字符’/’为止的字符集

%*[^/]: 将取到指定字符’/’为止的字符集忽略

阅读(3082) | 评论(0) | 转发(0) |
0

上一篇:Linux程序调试

下一篇:sprintf字符串输出

给主人留下些什么吧!~~