一个小问题:原始字符串如CRYPT,FUNCTION,我要确定里面是否存在CRYPT,于是调用C++的find()函数,结果判断是不存在,怎么回事?

我的判断代码
if(strUseFlagsTmp.Find("CRYPT")) lpImport->fwUse = lpImport->fwUse|WFS_PIN_USECRYPT; //用于加密解密
代码执行完结果是fwUse中没有CRYPT值。

原因是a.find(b),如果b在a里则返回位置,不在返回string::npos。
上面语句执行完CRYPT在,返回了位置0,if去判断就是假也就是不存在了。


正确的判断语句是这样
if(strUseFlagsTmp.Find("CRYPT")==string::npos)
{}
else{
lpImport->fwUse = lpImport->fwUse|WFS_PIN_USECRYPT;
}

相关文章:

  • 2021-06-29
  • 2021-04-17
  • 2022-12-23
  • 2021-12-14
  • 2022-01-27
  • 2021-12-12
  • 2021-12-29
  • 2021-12-22
猜你喜欢
  • 2021-06-06
  • 2022-03-04
  • 2021-10-10
  • 2022-01-27
  • 2022-12-23
  • 2022-12-23
  • 2021-06-16
相关资源
相似解决方案