是否建议使用strcmp或_tcscmp来比较Unicode版本中的字符串?

ckv*_*ckv 9 c windows unicode tchar unicode-string

是否建议使用strcmp或_tcscmp来比较Unicode版本中的字符串?

asv*_*kau 9

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

需要注意的类型TCHAR,PTSTR等等类似.他们将是WCHAR,PWSTR如果你定义UNICODE,CHARPSTR其他.

  • 那是不对的.`UNICODE`驱动Win32 API中宽字符串的定义.即当你#include <windows.h>`时.`_UNICODE`驱动对宽(和多字节)字符的c-runtimes支持,并且当你#include <string.h>`(或任何其他c-runtime头)时有意义.如果定义`_UNICODE`,`_tcscmp`将是`wcscmp`,否则如果定义`_MBCS`,`_tcscmp`将是`_mbcscmp`,否则它将是`strcmp`. (8认同)

Nav*_*een 7

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