标题:sscanf(ptr, "%*[^=] = %*[^/]/%f/%* ms", &avg_ping); 引号里面的什么意思 ...
只看楼主
guoyang88
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2015-1-7
结帖率:66.67%
已结贴  问题点数:10 回复次数:3 
sscanf(ptr, "%*[^=] = %*[^/]/%f/%* ms", &avg_ping); 引号里面的什么意思 求助
"%*[^=] = %*[^/]/%f/%* ms"

不理解这个的具体含义

请指教 谢谢
2015-01-08 16:02
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:10 
这算是scanf()家族的一种比较高级的用法 至少教科书上没讲 其实就一个简化版的正则表达式 如果你懂正则就很容易理解

%* 加星号 表示这个跳过
[^=] 括号并且用^开头 表示匹配不在这个里面的 这里是读取不是=的内容

%*[^/] 这个也就是读取非/的内容

这个罢 我猜是读取*nix系统ping输出的程序 因为那个程序会用类似

min/avg/max = 0.5/0.8/1.2 ms

的格式来输出延迟 上面的那个正好就匹配了这个 读取了平均延迟
2015-01-08 16:24
guoyang88
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2015-1-7
得分:0 
回复 2楼 zklhp
很好很强大 万分感谢。。

请教有没有好的带注释的代码给我们新手进行学习 提高读代码能力
2015-01-08 19:21
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:0 
以下是引用guoyang88在2015-1-8 19:21:24的发言:

很好很强大 万分感谢。。
 
请教有没有好的带注释的代码给我们新手进行学习 提高读代码能力

我没看过这种东西 不知道

祝你学习顺利
2015-01-08 19:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-440870-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.337297 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved