Дифференцировать между Tchar и _tchar
Вопрос
Каковы различные различия между двумя символами TCHAR
а также _TCHAR
Тип определен в заголовке Windows Tchar.h? Объясните с примерами. Кратко опишите сценарии, где вы будете использовать TCHAL в отличие от _tchar в вашем коде. (10 знаков)
Решение
Нашел свой ответ здесь:
Форумы MSDN >> Visual Studio Developer Center >> TCHAR VS _THAR
Thar и _tchar идентичны, хотя, поскольку Thar не имеет ведущего подчеркивания, Microsoft не разрешается зарезервировать его как ключевое слово (представьте, если у вас была переменная под названием Tchar. Подумай, что произойдет). Следовательно, tchar не будет # определенным, когда языковые расширения отключены (/ za).
TCHAR определен в Winnt.h (который вы получите, когда вы #include), а также tchar.h under / ze. _Tchar доступен только в tchar.h (который также #defines _tschar и _tuchar). Это неподписанные / подписанные варианты нормального типа данных TCHAL.
Другие советы
В дополнение к тому, что сказал @russc, TCHAR
используется API Win32 и основан на UNICODE
Определить, тогда как _TCHAR
используется по времени выполнения C и основана на _UNICODE
Определите вместо этого. UNICODE
а также _UNICODE
обычно определяются / опущены вместе, делая TCHAR
а также _TCHAR
взаимозаменяемый, но это не требование. Они семантически разделены для использования различными каркасами.