Всем привет у меня такая проблема с UNICODE вод код Code: #define UNICODE #define _UNICODE #include <Windows.h> #pragma comment(linker,"/Entry:WinMain") LPWSTR p(LPWSTR s) { const int len = lstrlen(s); wchar_t *tmp = (wchar_t*)s; wchar_t *key = new wchar_t[len]; wchar_t *b = new wchar_t[len]; for(int i=0; i<len; i++)key[i]= key[i]+(wchar_t)77; for(int i=0; i<len; i++)b[i]= tmp[i]^key[i]; return b; } int _stdcall WinMain(HINSTANCE,HINSTANCE,LPSTR,int) { wchar_t *e = p(L"Hello"); wchar_t *d = p(e); MessageBoxW(0,e,L"",0); MessageBoxW(0,d,L"",0); return 0; } Всё работает, но только выводит как в сообщение какой-то мусор, в чём моя проблема. За рание спасибо.
wchar_t *e = p(L"Hello"); ---- кодирует строку wchar_t *d = p(e); ----- обратно раскодирует всё теперь уже разобрался просто нужно было малентко функцию до ума довести!!! Code: LPWSTR WINAPI e_d_code(LPWSTR str) { const int len =lstrlen(str); wchar_t *key= new wchar_t[len]; wchar_t *buf= new wchar_t[len]; lstrcpy(buf,str); for(int i=0; i<len; i++)key[i]=key[i]+(wchar_t)0x77; for(int i=0; i<len; i++)buf[i]=buf[i]^key[i]; return buf; } З.Ы. Думаю тема закрыто.