我试图比较 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;
最佳答案
事实证明,问题在于将 char* 转换为字符串。 char* 数组未正确以空值终止。
关于.net - 托管 C++ 字符串比较工作奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9105514/