gpt4 book ai didi

c++ - char* 到 const wchar_t * 转换

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:21:14 24 4
gpt4 key购买 nike

我需要将字符指针转换为 w_char * 以便使用 ParseNetworkString()。我已经尝试自己寻找解决方案,虽然我找到了一种解决方案,但有一个问题阻止我使用它:

b1naryatr0phy 在另一个帖子中说:

std::wstring name( L"Steve Nash" );
const wchar_t* szName = name.c_str();

这几乎对我有用,除了我不能直接传递字符串,因为它的值并不总是相同,这意味着我不能只把它放在引号中。如果我用函数调用替换参数,那么第一行会给我一个错误(例如:std::wstring name(LgetIpAddress()); 我试过 std::wstring name(L""+ getIpAddress() + ""); ,认为它只需要在 L 之后加一个引号,但这也不起作用。有什么建议吗?

谢谢! :)

谁能回答这个问题,就多加点赞!

链接到其他帖子:I want to convert std::string into a const wchar_t *

附言抱歉,澄清一下,getIpAddress 返回一个字符指针

最佳答案

getIpAddress() 的类型是什么?

下面是一个片段,展示了如何将 string 转换为 wstring(使用标准 C++11,无错误检查):

wstring to_wstring(string const& str)
{
size_t len = mbstowcs(nullptr, &str[0], 0);
if (len == -1) // invalid source str, throw
wstring wstr(len, 0);
mbstowcs(&wstr[0], &str[0], wstr.size());
return wstr;
}

关于c++ - char* 到 const wchar_t * 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11853208/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com