string problem

toadzw 2009-05-15 06:42:46
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <memory.h>
using namespace std;

void main (){

string str("Apizza");
if(str.c_str()=="Apizza")
cout<<"yes"<<endl;

}
为什么这二者却不相等,关于string的学习有点乱
...全文
70 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
liliangbao 2009-05-15
  • 打赏
  • 举报
回复
if(str.c_str()=="Apizza") 
修改为
if(strcmp(str.c_str(), "Apizza") == 0) //C风格的串比较~
cmy0891 2009-05-15
  • 打赏
  • 举报
回复
应该相等啊
toadzw 2009-05-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hqin6 的回复:]
可以用strcmp比较

strcmp(str.c_str(),"Apizza");
[/Quote]
这个也不行哦,你自己试一下
pengzhixi 2009-05-15
  • 打赏
  • 举报
回复
不好意思,答错了.
yefei679 2009-05-15
  • 打赏
  • 举报
回复
哦。这是C++的啊,像三楼那个应该就可以了
太乙 2009-05-15
  • 打赏
  • 举报
回复
可以用strcmp比较

strcmp(str.c_str(),"Apizza");
yefei679 2009-05-15
  • 打赏
  • 举报
回复
你用equals比较,字符串尽量不要用==
pengzhixi 2009-05-15
  • 打赏
  • 举报
回复
str.c_str()=="Apizza\0";

64,652

社区成员

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

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