草庐IT

fshort-wchar

全部标签

c++ - wchar_t 只是 unsigned short 的 typedef 吗?

例如,做:wchar_tx;翻译成:unsignedshortx; 最佳答案 简而言之:在C中可能在C++中没有。广泛。C将wchar_t定义为typedef,但在Unix中它通常为4个字节(因此通常不短),而在Windows2中则可能很短。在C++下,它是唯一的内置类型,如char或int,因此您可以合法地重载voidfoo(shortx)和voidfoo(wchar_tx) 关于c++-wchar_t只是unsignedshort的typedef吗?,我们在StackOverflow

c++ - wchar_t* 到字符串的转换

这个问题在这里已经有了答案:HowdoIconvertwchar_t*tostd::string?(7个回答)关闭7年前。如何在win32控制台中将wchar_t*数组转换为std::stringvarStr。 最佳答案 使用wstring,看这段代码://Yourwchar_t*wchar_t*txt=L"HelloWorld";wstringws(txt);//yournewStringstringstr(ws.begin(),ws.end());//ShowStringcout 关

c++ - wchar_t* 到字符串的转换

这个问题在这里已经有了答案:HowdoIconvertwchar_t*tostd::string?(7个回答)关闭7年前。如何在win32控制台中将wchar_t*数组转换为std::stringvarStr。 最佳答案 使用wstring,看这段代码://Yourwchar_t*wchar_t*txt=L"HelloWorld";wstringws(txt);//yournewStringstringstr(ws.begin(),ws.end());//ShowStringcout 关

c++ - 将 std::wstring 转换为 WCHAR*

我不知道如何将std::wstring转换为WCHAR*std::wstringwstrProcToSearch;WCHAR*wpProcToSearch=NULL;std::wcin>>wstrProcToSearch;//inputstd::wstring//nowineedtoconvertthewstringtoaWCHAR*有谁知道如何做到这一点? 最佳答案 如果您想从std::wstring转换为constWCHAR*(即返回的指针提供只读访问权限字符串内容),然后调用std::wstring::c_str()方法就可以

c++ - 将 std::wstring 转换为 WCHAR*

我不知道如何将std::wstring转换为WCHAR*std::wstringwstrProcToSearch;WCHAR*wpProcToSearch=NULL;std::wcin>>wstrProcToSearch;//inputstd::wstring//nowineedtoconvertthewstringtoaWCHAR*有谁知道如何做到这一点? 最佳答案 如果您想从std::wstring转换为constWCHAR*(即返回的指针提供只读访问权限字符串内容),然后调用std::wstring::c_str()方法就可以

c++ - WCHAR wszFoo[CONSTANT_BAR] = {0}; <-- {0} 是什么意思?

WCHARwszFoo[CONSTANT_BAR]={0};我从未见过像{0}这样的东西在C++中用作语言的一部分。而且我不知道如何在线搜索这样的问题。这是什么? 最佳答案 参见arrayinitialization.MissinginitializationvaluesusezeroIfanexplicitarraysizeisspecified,butanshorterinitiliazationlistisspecified,theunspecifiedelementsaresettozero.floatpressure[10

c++ - 无法将 QString 转换为 WChar 数组

QStringprocessName="test.exe";QString::toWCharArray(processName);我收到以下错误:error:C2664:'QString::toWCharArray':cannotconvertparameter1from'QString'to'wchar_t*'Nouser-defined-conversionoperatoravailablethatcanperformthisconversion,ortheoperatorcannotbecalled 最佳答案 您使用不当。您应

C++ 编译错误 : "cast from ' WCHAR *' to ' WORD' loses precision"

MyGUI库。源码中有一行:mHandle=(size_t)::LoadCursor(NULL,MAKEINTRESOURCE(IDC_ARROW));mHandle是size_tLoadCursor返回HCURSOR。错误:D:\Dev\MyGUI_3.2.0_RC1\Common\Input\Win32\ResourceW32Pointer.cpp:48:error:castfrom'WCHAR*'to'WORD'losesprecision这是完整的来源:www.pastebin.com/gzqLBFh9MinGW编译器。有错误castfrom'CHAR*'to'WORD'los

c++ - 字符串隐式转换运算符到 const char*/wchar_t *

我发现MFC/ATLCString类在Win32C++代码中非常方便;特别是我发现我们可以将CString的实例直接传递给Win32API的LPCWSTR(即constwchar_t*)参数很方便,感谢CString定义的隐式转换运算符。相反,当使用std::wstring时,需要显式调用.c_str()方法。那么,为什么STL字符串类(std::string和std::wstring)需要显式方法调用(c_str())而不是定义一个隐式的constchar*/constwchar_t*转换运算符?隐式转换运算符是否隐藏着严重的陷阱? 最佳答案

c++ - 从 QString 获取 "const wchar_t*"最快的方法是什么

我想将一个QString变量传递给一个带有constwchar_t*参数的函数。安全的解决方案是:voidfoo(constwchar_t*);QStringx="test";foo(x.toStdWString().c_str());但它有转换为wstring的开销。有没有更快的解决方案?这个解决方案怎么样?安全便携吗?foo(reinterpret_cast(x.constData())); 最佳答案 不,重新解释转换是不安全的,并且在编码不同的某些平台上不起作用。QChar是16位的,内部编码是UTF-16,但是在Linux上