将字符比较在一起?

时间:2016-05-01 04:24:49

标签: c++

我对C ++很新,在尝试比较两个字符时遇到了问题,这是一个例子:

#define PartOne "He"
#define PartTwo "llo"
char Final1Var[] = PartOne PartTwo;
char ComapreVars[] = "Hello";

if(Final1Var == ComapreVars)//This is were the problem occurs, the chars are supposed to be equal to each other BUT for some reason the 'if' statement ends up determining they're not?
   InGameDialog::Alert("They Match");
else
    InGameDialog::Alert("They Don't Match");

代码出了什么问题?我无法想象为什么这不起作用?有什么建议吗?

2 个答案:

答案 0 :(得分:-1)

在c ++字符数组中无法使用==运算符进行比较,您必须使用strcmp函数或字符串比较函数。

答案 1 :(得分:-1)

这是一个非常常见的问题。一旦我在其他问题中找到了一个好的答案,我会将其标记为重复。

与此同时,您不是在比较char,而是在比较char[],这是完全不同的。你想要使用strcmp,strncmp或std :: string类型将是一个更好的解决方案。

What is array decaying?对您的代码中发生的事情及其原因有一些合理的解释。