C++ 如何将wstring转换为wchar\u t*?C++;

C++ 如何将wstring转换为wchar\u t*?C++;,c++,wchar-t,wstring,C++,Wchar T,Wstring,我想将wstring转换为wchar\u t*。我已经尝试了我所知道的一切,请帮忙。 我想将wstring转换为wchar\u t*您是否尝试阅读 你试过看报纸吗 没有办法将wstring转换为wchar\u t*,但您可以将其转换为const wchar\u t*,这是K.Kirsz所说的 这是经过设计的,因为您可以访问常量指针,但不应操纵指针。请参阅相关的示例及其答案 最好的办法是使用非常量缓冲区创建一个新字符串并访问它,这里给出了一个ascii示例 对于unicode: wstri

我想将wstring转换为wchar\u t*。我已经尝试了我所知道的一切,请帮忙。 我想将wstring转换为wchar\u t*

您是否尝试阅读

你试过看报纸吗


没有办法将
wstring
转换为
wchar\u t*
,但您可以将其转换为
const wchar\u t*
,这是K.Kirsz所说的

这是经过设计的,因为您可以访问常量指针,但不应操纵指针。请参阅相关的示例及其答案

最好的办法是使用非常量缓冲区创建一个新字符串并访问它,这里给出了一个ascii示例

对于unicode:

    wstring str = L"I am a unicode string";
    wchar_t* ptr = _wcsdup(str.c_str());
    // use ptr here....
    free(ptr); // free memory when done

没有办法将
wstring
转换为
wchar\u t*
,但您可以将其转换为
const wchar\u t*
,这是K.Kirsz所说的

这是经过设计的,因为您可以访问常量指针,但不应操纵指针。请参阅相关的示例及其答案

最好的办法是使用非常量缓冲区创建一个新字符串并访问它,这里给出了一个ascii示例

对于unicode:

    wstring str = L"I am a unicode string";
    wchar_t* ptr = _wcsdup(str.c_str());
    // use ptr here....
    free(ptr); // free memory when done

根据手册,你可以得到这样一个指针:可能的重复根据手册,你可以得到这样一个指针:OP的可能重复显然想要一个
wchar\u t*
,而不是
wchar\u t const*
,如本答案所示。从C++17开始,OP显然想要一个
wchar\u t*
,而不是
wchar\u t常量*
,如本答案所示。从C++17开始,提供了这一点。