How to cout the std::basic_string<TCHAR>

c++, stl, string, visual-c++

Solution

As dauphic said, `std::wcout` is for wide strings and `std::cout` for narrow ones. If you want to be able to compile for either type of string (`TCHAR` is meant to make this sort of thing easier) something like this sometimes makes life easier:

#if defined(UNICODE) || defined(_UNICODE)
#define tcout std::wcout
#else
#define tcout std::cout
#endif

With this in place use tcout instead.

Problem

I am trying to cout a `basic_string<TCHAR>`. But cout is throwing error. Can I know how to do that

Original source