4

我正在尝试比较 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;
4

1 回答 1

1

事实证明,问题在于将 char* 转换为字符串。char* 数组未正确以空值终止。

于 2012-02-03T03:30:10.020 回答