+ -
当前位置:首页 → 问答吧 → sscanf question

sscanf question

时间:2010-06-23

来源:互联网

I have a string like "access-list 8 per 3.3.3.3 /24",
I want to get 24 with sscanf, can you tell me how to do it?

the following code can not catch it.

sscanf(szCommand, "/%d", &ulSrcMask)

thanks.

作者: mypromise   发布时间: 2010-06-23

有在中文技术论坛发英语求助的能力,为啥不自己man sscanf一下,看看标准的手册呢?

作者: 聪聪知不道   发布时间: 2010-06-23

注册四年,终于见到法帖

作者: mgqw   发布时间: 2010-06-23

本帖最后由 mgqw 于 2010-06-23 21:20 编辑

响应下面帅哥的要求,用英文回答
要获得24的话
if you want get 24, you should do it like this:
szCommand = "access-list 8 per 3.3.3.3 /24"
sscanf(szCommand, "%*s%*s%*s%*s/%d", &ulSrcMask)

作者: mgqw   发布时间: 2010-06-23

楼主比俺还能潜水。
上来就用e文发帖啊

作者: tpli   发布时间: 2010-06-23

sscanf默认也是以空格为分割符的,如果字符串中间没有空格的话,那就只有用类似正则表达式的过滤规则了

作者: mgqw   发布时间: 2010-06-23

一定要用sscanf吗?

作者: c/unix   发布时间: 2010-06-23

直接用 sscanf(szCommand, "/%d", &ulSrcMask) 肯定是取不到的
必须要用%*s把前面默认空格间隔开的字符串过滤掉, 匹配最后一个24

作者: mgqw   发布时间: 2010-06-23

帖子真带感还,震惊…………
话说4L那样就成了=-=

作者: daybreakcx   发布时间: 2010-06-23

楼主是国际友人?   
大牛们, 请用英文回答呀。

is questioner foreign friend  ?
please  answer this question in english , bullers  .

作者: crowsy001   发布时间: 2010-06-23

这么简单的,strchr找到 /,就是了,何必用sscanf

作者: hellioncu   发布时间: 2010-06-23

sscanf(buf,"%*[^/]/%[2,4]",args) ;

作者: masonzhang   发布时间: 2010-06-23