2010-01-21 89 views

回答

8

_tcscmp()是一个宏。如果你定义UNICODE它将使用wcscmp(),否则它将使用strcmp()

注类型TCHARPTSTR等是相似的。他们将WCHARPWSTR如果你定义UNICODECHARPSTR否则。

+8

这是不正确的。 'UNICODE'驱动Win32 API中宽字符串的定义。即当你#包括'。 '_UNICODE'驱动用于宽(和多字节)字符的c运行时的支持,并且具有意义时,'的#include '(或任何其它的c-运行时标头)。如果'_UNICODE'定义,'_tcscmp'会'wcscmp',否则如果'_MBCS'定义,'_tcscmp'会'_mbcscmp',否则这将是'strcmp'。 – 2010-01-26 19:24:41

+0

@Chris Becke Hm,我不知道。我通常定义两者(带有下划线和不带),现在为什么这是必要的。 :-) – asveikau 2010-01-26 21:52:07

7

不,你应该使用_ tcscmp。这将根据您的编译器标志解析为正确的功能。