I have a variable of type LPTSTR
, which I print to std::cout
with <<
. In an ANSI system (don\'t know exactly where it is determi
For Unicode strings you want wcout
.
You may be seeing hex because the ANSI/ASCII output stream doesn't know how to handle Unicode characters.
LPTSTR
and LPWSTR
are actually C-isms inherited from the C Windows API days. For C++ I would strongly encourage you to use std::string
and/or std::wstring
instead.
If you need to roll your own macro, you'll want something like:
#ifdef _UNICODE
std::wostream& COUT = std::wcout;
#else
std::ostream& COUT = std::cout;
#endif