如何在c++;形式? 我想知道有没有人知道如何将C++中的代码>文本框< /代码>文本分配给字符串? 在c#中,例如: string name; name=textbox1.Text; 但是C++中我不知道它是如何工作的。 我试过这个: string name; name = name_2door_txt->Text;

如何在c++;形式? 我想知道有没有人知道如何将C++中的代码>文本框< /代码>文本分配给字符串? 在c#中,例如: string name; name=textbox1.Text; 但是C++中我不知道它是如何工作的。 我试过这个: string name; name = name_2door_txt->Text;,c++,forms,visual-c++,C++,Forms,Visual C++,但请告诉我这个错误: IntelliSense: no operator "=" matches these operands operand types are: std::string = System::String ^ 我需要它是一根绳子。您能帮忙吗?在system::string的参考资料中,您可以找到一些转换函数。例如,有一个toCharArray()函数。有了这些,你可以: std::string name(name_2door_txt->Te

但请告诉我这个错误:

    IntelliSense: no operator "=" matches these operands
        operand types are: std::string = System::String ^   

我需要它是一根绳子。您能帮忙吗?

在system::string的参考资料中,您可以找到一些转换函数。例如,有一个toCharArray()函数。有了这些,你可以:

std::string name(name_2door_txt->Text.toCharArray());

ref:

试试这个:您需要为
系统::字符串对象创建一个句柄(
^

System::String^ name = name_2door_txt->Text;

请包括以下头文件

#include <msclr\marshal_cppstd.h>
换个说法:

    System::String^ name;
    name = textbox1->Text; // VisualC++
将名称传递给本机/非托管c++

using namespace System::Runtime::InteropServices;

std::string nName = static_cast<const char*>( Marshal::StringToHGlobalAnsi(name).ToPointer() );
callNative( nName ); // Call to C++ native
使用命名空间System::Runtime::InteropServices;
std::string nName=static_cast(Marshal::StringToHGlobalAnsi(name).ToPointer());
callNative(nName);//调用C++本地
    System::String^ name;
    name = textbox1->Text; // VisualC++
using namespace System::Runtime::InteropServices;

std::string nName = static_cast<const char*>( Marshal::StringToHGlobalAnsi(name).ToPointer() );
callNative( nName ); // Call to C++ native