Я надеюсь, что название было достаточно хорошим, чтобы помочь объяснить, с чем у меня проблемы. Я думаю, что как только я решу эту проблему, мой проект будет в значительной степени завершен. На заметку, оба проекта скомпилированы под Unicode.
Я работаю с CLI/C++
DLL, которая принимает LPCTSTR
и возвращает const char*
. Если я сохраняю значение возврата в const char*
в моем проекте при прохождении, я вижу, что возвращаемое значение - это то, что я ожидаю вернуть.
Теперь, если я сделаю следующее:
LPCTSTR strValue = L"test";
const char* Return = MethodCall(strValue);
LPCTSTR Final = CString(Return);
Возврат будет равен "Xmkk=Asmks" (что и должно быть). Этот метод шифрует строку. Проблема в том, что когда я делаю CString
, Final будет равно «ﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮ㹙癞鞮᠀諸²⤐²». Как мне превратить onst char*
в LPCTSTR
без изменения его данных"
Спасибо.
char
в приложении Unicode. Используйтеwchar_t
(илиTCHAR
). - person Cody Gray   schedule 20.03.2012CStringA
, который является 8-битной CString, независимо от того, определен ли Unicode. - person Mr Lister   schedule 20.03.2012