首页
社区
课程
招聘
[求助]c++感叹号疑问??
发表于: 2008-11-3 13:40 3245

[求助]c++感叹号疑问??

2008-11-3 13:40
3245
新手,想写驱动,看了论坛里一段PRmonitor.sys的源码,想问关于感叹号“!”的问题:
1、 if( !strncmp( "System", (PCHAR) curproc + i, strlen("System") ))
   

     strncmp()我知道是比较字串大小的,想知道:
   1.这句if到底是想判断什么,什么情况下返回真?
   
   2.这个感叹号还是起否定的作用吗,那是否定什么条件啊?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
2
衷告:连strncmp()的用法都搞不清楚,先好好学习基础,应用程序写好,再说驱动的事吧。

我先回答你的问题:

strcmp()系列的函数,不管strncmp(),strcmp(),stricmp(),strnicmp(),_mbsncmp(),wstrncmp()等等,你大抵理解成为它返回的值是 第一个参数 和 第二个参数 的“差”就容易记了。

也就是说,当两个被比较的串相同,则“差”为0;若返回值大于0,则第一个串“大于”第二个串。

现在你再看那段代码是不是明白了。

另外,“感叹号”在C中叫做逻辑非操作符。

一个问题发一次就够了。多发无益。
2008-11-3 13:48
0
游客
登录 | 注册 方可回帖
返回
//