use*_*248 5 c++ pointers char wchar
我需要将字符指针转换为w_char*才能使用ParseNetworkString().我自己试过找到解决方案,虽然我找到了一个解决方案,但有一个问题阻止我使用它:
b1naryatr0phy在另一篇文章中说:
std::wstring name( L"Steve Nash" );
const wchar_t* szName = name.c_str();
Run Code Online (Sandbox Code Playgroud)
这几乎对我有用,除了我不能只传递字符串表达,因为它的值并不总是相同,这意味着我不能只把它放在引号中.如果我用函数调用替换参数,那么第一行给出了一个错误(例如:std :: wstring name(LgetIpAddress());我试过std :: wstring name(L""+ getIpAddress()+ "");;认为它只需要在L之后加一个引号,但这也不起作用......任何建议?
谢谢!:)
对任何能够回答这个问题的人都有额外的荣誉!
链接到其他帖子:我想将std :: string转换为const wchar_t*
PS对不起,只是为了澄清,getIpAddress返回一个字符指针
是什么类型的getIpAddress()
?
下面的代码片段展示了如何将 a 转换string
为 a 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;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14590 次 |
最近记录: |