C++中判断两个字符串是否相等,怎么判断?

hu7789 2010-02-08 11:14:59
m = new CMd;

string text1="12345678";
m->TargetStr("abcd");
string text2=m->GetDigestKey(); //加密函数,加密后得到text2

string aa1=md5text1.substr(0,4);
string bb2=md5text2.substr(0,4);
if (xx2==aa1){ //只比较它们的前4位是否一致,如果一致就显示
cout<<" 相等"<<aa1<<endl;
}



错误提示: error C2678: binary '==' : no operator defined which takes a left-hand operand of type 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' (or there is no acceptable conversion)
...全文
41539 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hu7789 2010-02-08
  • 打赏
  • 举报
回复
xx2是笔误,感谢2楼,调试通过

m = new CMd;

string text1="12345678";
m->TargetStr("abcd");
string text2=m->GetDigestKey(); //加密函数,加密后得到text2

string aa1=md5text1.substr(0,4);
string bb2=md5text2.substr(0,4);
if (bb2.compare(aa1)){ //只比较它们的前4位是否一致,如果一致就显示
cout < <" 相等" < <aa1 < <endl;
}
cismylife 2010-02-08
  • 打赏
  • 举报
回复
msdn compare
cutrain2009 2010-02-08
  • 打赏
  • 举报
回复
标准库函数中的string支持==运算啊;
我看你判断的那个句式xx2你再看看xx2的类型
cattycat 2010-02-08
  • 打赏
  • 举报
回复
string的compare函数,或strcmp(aa1.c_str(),bb2.c_str())==0表示相等。
机智的呆呆 2010-02-08
  • 打赏
  • 举报
回复

if(xx2.compare(aa1)==0)
机智的呆呆 2010-02-08
  • 打赏
  • 举报
回复
xx2.compare(aa1)
耍宝王 2010-02-08
  • 打赏
  • 举报
回复
笔误?bb2 => xx2

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧