使用 mbstowcs_s 将 char* 转换为 wchar_t*

Convert char* to wchar_t* using mbstowcs_s

我试过将 char* 转换为 wchar_t*,但我在使用 mbstowcs 时遇到了一些问题,Visual Studio 想要 mbstowcs_s...

char *port; 
size_t size = strlen(port) + 1;  
wchar_t* portName = new wchar_t[size]; 
mbstowcs(portName, port, size);

如何将函数更改为mbstowcs_s?

我不建议禁用安全代码警告,因为使用安全方法的修复非常简单,所以你开始吧:

    const char *port="8080";
    size_t size = strlen(port) + 1;  
    wchar_t* portName = new wchar_t[size]; 

    size_t outSize;
    mbstowcs_s(&outSize, portName, size, port, size-1);

    std::wcout << portName << std::endl;

在 VS2013 上使用 cl /W3 /EHsc 测试。