There are some posts on this matter but I wanted to double check. In Joel Spoolsky's article (link) one reads:
In C++ code we just declare strings as wchar_t ("wide char") instead of char and use the wcs functions instead of the str functions (for example wcscat and wcslen instead of strcat and strlen). To create a literal UCS-2 string in C code you just put an L before it as so: L"Hello".
My question is: Is what is written above, not enough to support Unicodes in a C++ app?
My confusions started when I couldn't output simple text like (in Russian):
wcout<<L"логин";
in console.
Also, recently I saw some code written for an embedded device where one person handles I think Unicode related strings using wchar_t.
Any help greatly appreciated.