Вопрос

Может кто-нибудь объяснить, почему это не работает?

char *test = "test";
_TCHAR *szTest = CA2W(test);

И, пожалуйста, скажите мне, что я должен делать вместо этого.

Вместо того, чтобы дать мне одинаковый текст, он дает мне:

﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾
Это было полезно?

Решение

Согласно MSDN, это плохо. Поэтому я использовал это вместо:

char *test = "test";
CA2W szTest(test);

Отсюда мы можем получить тип LPWSTR, если действительно хотим:

LPWSTR test = szTest.m_psz;

Также кажется, что лучше использовать LPWSTR вместо _TCHAR * - но я не уверен (я думаю, что это, по сути, одно и то же, но может ошибаться).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top