.net – 托管的c字符串比较奇怪的工作

我试图比较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 *数组未正确终止null.

相关文章

一.C语言中的static关键字 在C语言中,static可以用来修饰局...
浅谈C/C++中的指针和数组(二) 前面已经讨论了指针...
浅谈C/C++中的指针和数组(一)指针是C/C++...
从两个例子分析C语言的声明 在读《C专家编程》一书的第三章时...
C语言文件操作解析(一)在讨论C语言文件操作之前,先了解一下...
C语言文件操作解析(三) 在前面已经讨论了文件打开操作,下面...