【发布时间】:2015-11-27 17:04:22
【问题描述】:
如果编写的代码可以用不同的字符类型编译,TCHAR 仍然是正确的类型,例如std::basic_stringstream<TCHAR>
或者现在有一些官方的 C++/STL 类型是首选的,比如wchar_t 替换 WCHAR,true 替换 TRUE 和 nullptr 替换 NULL?
我说的是使用 basic_string 之类的类的情况,这些类使用 TCHAR 显式模板化。
【问题讨论】:
-
没有。我认为 wchar_t 是无稽之谈(因此 TCHAR,既可以是 char 也可以是 wchar_t,也是无稽之谈)。尽可能使用 utf8
-
您能说明一下您的用例吗?您是否提前知道要流式传输的内容是否为空终止?可变宽度?嵌入空值的固定宽度?
-
@rubicks 我不是这方面的专家,我的编辑是否澄清了一点?
-
If writing code which may be compiled with different character types为什么?几乎没有理由再在 Windows/Linux/Mac 上编写兼容 unicode 的程序了。 -
@Mr.Boy 将 TCHAR 视为最好的弃用和最坏的有害。另外,请考虑将您的 unicode 操作委托给 libicu (site.icu-project.org) 或类似的。
标签: c++ c++11 character-encoding tchar