Starting a new Windows app: Should I use _TCHAR or wchar_t for text?
c++, unicode, windows
Solution
No there is not. Just go with wchar_t.
TCHAR is only useful if you want to be able to use a conditional compilation switch to convert your program to operate in ASCII mode. Since Win2K and up are unicode platforms this switch does not provide any value. You'd instead be implying to other developers in your project that ASCII was a valid target when in fact it's not.
Problem
I'm coding up a new (personal hobby) app for Windows in c++. In previous low-level Windows stuff I've used `_TCHAR` (or just TCHAR) arrays/basic_strings for string manipulation. Is there any advantage to using `_TCHAR` over straight up Unicode with `wchar_t`, if I don't care about Windows platforms pre Win2k? edit: after submitting I discovered a similar question here from Oct 2008: Is TCHAR still relevant? Seems to be more consensus now about ditching TCHAR