2010-01-21 43 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。這將根據您的編譯器標誌解析爲正確的功能。