Arrays c+中的atoi问题+/cli

Arrays c+中的atoi问题+/cli,arrays,c++-cli,Arrays,C++ Cli,如果您正在编写.Net代码,请编写.Net代码。一般来说,当有.NET方法可用时,不要用C++的方式来做事情。 有几种方法可以将.NetString^转换为整数。可能是最适合使用的 旁注:如果你只是学习C++,我建议你学习普通C++,或者学习一种完全管理的语言,比如C语言。C++/CLI旨在实现互操作性,而不是主要开发;它具有C++的所有复杂性,C的所有复杂性,以及它自己的一些复杂性。 如果您正在编写.Net代码,请编写.Net代码。一般来说,当有.NET方法可用时,不要用C++的方式来做事情。

如果您正在编写.Net代码,请编写.Net代码。一般来说,当有.NET方法可用时,不要用C++的方式来做事情。 有几种方法可以将.Net
String^
转换为整数。可能是最适合使用的


旁注:如果你只是学习C++,我建议你学习普通C++,或者学习一种完全管理的语言,比如C语言。C++/CLI旨在实现互操作性,而不是主要开发;它具有C++的所有复杂性,C的所有复杂性,以及它自己的一些复杂性。 如果您正在编写.Net代码,请编写.Net代码。一般来说,当有.NET方法可用时,不要用C++的方式来做事情。 有几种方法可以将.Net

String^
转换为整数。可能是最适合使用的


旁注:如果你只是学习C++,我建议你学习普通C++,或者学习一种完全管理的语言,比如C语言。C++/CLI旨在实现互操作性,而不是主要开发;它具有C++的所有复杂性,C的所有复杂性,以及它自己的一些复杂性。 正如错误所说,您正在将System.String引用传递给一个函数,该函数需要一个

char*
。除了字符串表示(C++希望一个拖尾的NUL终止一个字符串),主要的问题是.NET字符串是Unicode,更像是C++ <代码> WCARGYT*<代码>。因此,不要使用atoi,而是使用一些托管的内容,如
Int32::Parse()
。@Zastai FWIW,.NET字符串除了字符计数字段外,还有一个空终止符,以简化兼容性。有一些技术允许您将.NET字符串用作
常量wchar\u t*
,而无需复制内存。正如错误所述,您正在将System.String引用传递给需要
字符*
的函数。除了字符串表示(C++希望一个拖尾的NUL终止一个字符串),主要的问题是.NET字符串是Unicode,更像是C++ <代码> WCARGYT*<代码>。因此,不要使用atoi,而是使用一些托管的内容,如
Int32::Parse()
。@Zastai FWIW,.NET字符串除了字符计数字段外,还有一个空终止符,以简化兼容性。有一些技术允许您使用.NET字符串作为
常量wchar\u t*
,而无需复制内存。
array<String^>^ rekordininkai = gcnew array<String^>(100);
array<Int32>^ man = gcnew array<Int32>(100);

int j=0;
int n=1;
for (int m=0;m<z;m++)
                    {

                        man[n] = atoi(rekordininkai[n]);
                        rikiavimas(man,i);
                        listBox1->Items->Add(rekordininkai[j] + " " + rekordininkai[n]);
                        j=j+2;
                        n=n+2;
                    }
man[n] = atoi(rekordininkai[n]);