Как я использую CA2W неправильно?
Вопрос
Может кто-нибудь объяснить, почему это не работает?
char *test = "test";
_TCHAR *szTest = CA2W(test);
И, пожалуйста, скажите мне, что я должен делать вместо этого.
Вместо того, чтобы дать мне одинаковый текст, он дает мне:
Решение
Согласно MSDN, это плохо. Поэтому я использовал это вместо:
char *test = "test";
CA2W szTest(test);
Отсюда мы можем получить тип LPWSTR, если действительно хотим:
LPWSTR test = szTest.m_psz;
Также кажется, что лучше использовать LPWSTR вместо _TCHAR * - но я не уверен (я думаю, что это, по сути, одно и то же, но может ошибаться).
Не связан с StackOverflow