我仍然看到有关使用LPTSTR
/TCHAR
类型等的建议,而不是LPWSTR
/WCHAR
的建议。我相信Unicode的东西已经在Win2k中很好地引入了,坦率地说,我不再为Windows 98编写代码。 (当然,除了特殊情况。)由于我不关心Windows 98(或更不用说ME)了,因为它们已经有十多年的历史了,是否有任何理由要使用兼容性TCHAR
等类型?为什么仍建议人们使用TCHAR
-与直接使用WCHAR
相比,它有什么好处?
最佳答案
如果有人告诉您走上1,000,000行非_UNICODE C++,并且使用char
而不是wchar_t
或TCHAR
或WCHAR
进行大量声明,那么您最好准备好应对非Unicode Win32 API。大规模的转换成本很高,而且可能不是原始资金准备支付的费用。
至于新代码,那么,有太多使用TCHAR的示例代码,以使其易于剪切和粘贴,并且在某些情况下,WCHAR
(作为wchar_t
)和WCHAR
(作为unsigned short
)之间有些冲突。
谁知道,也许某天MS会在TCHAR下添加UTF-32数据类型?
关于windows - * A Win32 API调用是否仍然有用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2962652/