什么是TCHAR?它与WCHAR有何不同?

什么是TCHAR?它与WCHAR有何不同?,c,windows,types,wchar,tchar,C,Windows,Types,Wchar,Tchar,这个问题现在应该有答案了,但是没有任何东西可以解释stackoverflow上的TCHAR到底是什么(我找到的只是解释TCHAR和\TCHAR之间的区别) 我只知道TCHAR和\u TCHAR被认为是相同的,在某些平台上TCHAR可能与WCHAR相同。但这只是一种假设 什么是TCHAR,它与WCHAR有何不同?TCHAR可以是基于平台的字符或WCHAR,并且WCHAR将始终是16位Unicode字符,wchar\u t.TCHAR是char还是wchar\u t,取决于是否定义了UNICODE

这个问题现在应该有答案了,但是没有任何东西可以解释stackoverflow上的
TCHAR
到底是什么(我找到的只是解释
TCHAR
\TCHAR
之间的区别)

我只知道
TCHAR
\u TCHAR
被认为是相同的,在某些平台上
TCHAR
可能与
WCHAR
相同。但这只是一种假设


什么是
TCHAR
,它与
WCHAR
有何不同?

TCHAR可以是基于平台的字符或WCHAR,并且WCHAR将始终是16位Unicode字符,wchar\u t.

TCHAR
char
还是
wchar\u t
,取决于是否定义了
UNICODE


使用基于
TCHAR
TCHAR
的类型允许库处理定义
UNICODE
的程序和不相同的程序。

如果我指定
TCHAR
而不是
char
,我会有可移植代码吗?@Kaiyaha不。只要避免所有那些TCHAR和wchar,并在任何地方使用UTF-8即可。现在在Windows中是可能的:因此,如果我声明
tchar
,我会为我的代码提供更多的可移植性,是吗?是的,如果使用基于
tchar
tchar
的类型,它的可移植性更强。我在我的答案中添加了一些大意。C区分大小写。@ikegami好的,我会编辑它。顺便问一下,如果没有
tchar
,为什么它甚至是大写的?@Kaiyaha,因为标记只能在小写窗口中,没有unicode支持是千年的。从那时起,这一切都是浪费