托管的c ++字符串比较奇怪的工作

时间:2012-02-02 00:31:19

标签: .net c++-cli visual-c++-2010 base-class-library

我试图比较2个字符串但得到奇怪的结果。在某些计算机上,比较正常,而在其他计算机上则不然。代码是使用托管C ++在Visual Studio 2010中编写的。我检查了字符串,它们看起来完全相同。有什么想法吗?

String^ str1 = "string1";
char[] chars = "string1";
String^ str2 = new String(chars);
if(String::Compare(str1,str2)==0)
    return true;
else
    return false;

1 个答案:

答案 0 :(得分:1)

事实证明问题在于char *转换为字符串。 char *数组未正确地以null结尾。