+ -
当前位置:首页 → 问答吧 → 编译安装mysql的时候到make install这一步的错误

编译安装mysql的时候到make install这一步的错误

时间:2011-10-26

来源:互联网

以下是代码的一部分
string s[0]="hello";
string t;
t.resize(100);
之后我把hello各个字符插入到t中,测试了一下输出的内容都是一样的。
当我进行一下测试时,问题出现了:
if(t==s[0])
cout<<"equal"<<endl;
else
cout<<"error"<<endl;
输出的结果是error.
求解。。。。。

作者: zhenxini   发布时间: 2011-10-26

不知道我这种写法是否合你的意
代码:
#include <iostream>
#include <string>
using namespace std;

int main()
{
   string s = "hello";
   string t;
   t.resize(100);
   t.insert(0, s);
   cout<<"The content of t:"<<t<<endl;
   if (t.compare(0,s.length(),s) == 0)
      cout<<"equal"<<endl;
   else
      cout<<"not_equal_to"<<endl;

   return 0;
}

作者: 1qa2ws3ed   发布时间: 2011-10-26

跟linux没啥关系,这种帖子还是到csdn上问吧,或者到编程相关的版块,gtk、qt之类的
string类有没有重载==运算符我是不记得了,如果没有重载,他们是按字节比较的,
你知道字节对齐吧,即使是同一个类A的对象a1和a2,按字节比较他们也不一定相等,
我也不知道string内部的实现是指针还是数组,直接比较很不靠谱,2l的实现就很好

作者: youqika   发布时间: 2011-10-27

代码:
string s[0]="hello";   //字符串类数组
string t;                  //字符串

楼主,你懂了吧。。

作者: qq420100523   发布时间: 2011-10-27