ITPub博客

首页 > > > 关于C++ std::map容器,传参相同,返回的结果竟然不一样!?

关于C++ std::map容器,传参相同,返回的结果竟然不一样!?

作者:doudourabbit 时间:2019-09-25 10:51:37 0 删除 编辑

bool haveimg( const char *name )

{

static std::map::iterator it;

it = tex.find(name);

if (it != tex.end())

{

return true;

}

return false;

}

(1) haveimg("ct_people_0") 

(2)

char szBuffer[255];

_sntprintf(szBuffer,sizeof(szBuffer),"ct_people_%d",i);//i为0-20

haveimg(szBuffer)

这个只有像(1)那么调用才返回正确的结果,而像(2)那么调用,始终返回错误.

 就是在map中,我还没有插入这个数据,应该返回false,但是(2)查找到了.返回真, 我试了一下,无论 _sntprintf(szBuffer,sizeof(szBuffer),"ct_people_%d",i); 这里面写什么,都返回true

只有像(1)那么调用返回结果才正确,请问这个是因为什么啊!?

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4809/viewspace-3146780/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-25

  • 博文量
    193
  • 访问量
    1437