全局C ++ CLR字符串没有引用类

时间:2017-08-27 12:18:05

标签: string c++-cli clr

我试图在没有ref类的情况下全局使用CLR字符串但是当我尝试显示字符串时我在控制台中得到“True”但是当我在消息框中显示它时我得到了我想要它说的内容。有任何想法吗?代码:

#include <Windows.h>
#using <System.dll>

using namespace System;
using namespace System::Net;
using namespace System::Net::Sockets;

static String^* str;

int main()
{
    str = (String^*)"Hellooo";
    Console::WriteLine(str);
    Console::ReadKey();
}

1 个答案:

答案 0 :(得分:0)

您可以创建一个函数将std::string转换为String^,然后在控制台上打印:

    String^ CppStringToSysString(const std::string& s)
    {
      return Marshal::PtrToStringAnsi((IntPtr)(char*)s.c_str());
    }