When I #include <windows.h> in C or C++ I am forced to decide the format of characters, where TCHAR either equals char or wchar_t.
I've looked around quite a bit and as far as posts such as this one or sites like this point out the wchar_t thing came about a long time ago before UTF8 and, for a variety of reasons, isn't a particularly good Unicode solution in modern programming. However these say nothing about support in existing systems already running in wchar_t.
So my question is, which one should I use?
If I use plain old char will this be abandoned by MS in the future, since at the end of the day, the wchar_t version of the API is more recent?
Or if I use wchar_t, will it be a pain to get my code running on other modern platforms, which developed later using plain old char in UTF8?