pra*_*ran 14 c++ string stl visual-c++
我想尝试一个basic_string<TCHAR>
.但是cout正在抛出错误.我可以知道该怎么做
Ste*_*eve 21
正如dauphic所说,std::wcout
是针对宽字符串和std::cout
窄字符串.如果你想能够为任何一种类型的字符串进行编译(TCHAR
意味着使这类事情变得更容易),这样的事情有时会让生活更轻松:
#if defined(UNICODE) || defined(_UNICODE)
#define tcout std::wcout
#else
#define tcout std::cout
#endif
Run Code Online (Sandbox Code Playgroud)
有了这个使用tcout而不是.
TCHAR
是您的应用程序使用的字符类型的winapi定义.如果您将字符集设置为多字节字符,它将是char
.如果你将它设置为Unicode,它将是wchar_t
.
如果是的话wchar_t
,你需要使用std::wcout
.否则,平原std::cout
应该没问题.
一般来说它有助于解释也是你得到什么错误,但最有可能你想插入std::basic_string<wchar_t>
到std::cout
,并且有可能是不是operator<<
超载了点.
归档时间: |
|
查看次数: |
10352 次 |
最近记录: |