现在C ++中是否有官方TCHAR类型?

时间:2015-11-27 17:04:23

标签: c++ c++11 character-encoding tchar

如果编写可能使用不同字符类型编译的代码,TCHAR仍然是正确的类型,例如std::basic_stringstream<TCHAR>

或者现在有一些官方的C ++ / STL类型是首选的,wchar_t取代WCHARtrue取代TRUEnullptr取代NULL

我在谈论我正在使用像basic_string这样的类的情况,使用TCHAR显式模板化。

1 个答案:

答案 0 :(得分:7)

没有。 TCHAR允许您根据Microsoft的_UNICODE宏和使用Microsoft的各种其他“T”宏在charwchar_t之间切换。这些都与标准C ++ API无关。

如果您正在维护使用TCHAR的旧C ++程序,那么您可以继续使用TCHAR。

为了编写新程序,我所看到的人们更喜欢完全避免使用遗留代码页,而是使用char作为UTF-8,然后在Windows上无条件地使用* W API,在UTF之间进行转换API范围内的-8 char个字符串和wchar_t