Wolfram
23:42 01-06-2009
LPWSTR
LPSTR
LPCSTR
LPCWSTR


У меня уже мозги набекрень! Что за ерунда? API-то кушает, а вот вывести все это в констоль я не могу.
Вечно cannot convert parameter 2...
Комментарии:
DMZ
05:05 02-06-2009
В C это обычно так (MSDN под рукой нету, пишу по памяти):

Long Pointer to (Constant) (Wide) STRing

LPWSTR => wchar_t*
LPCWSTR => const wchar_t*
LPSTR => char*
LPCSTR => const char*

printf("%s", lpstr);
printf("%s", lpcstr);
#include <tchar.h>
wprintf(L"%s", lpwstr);
wprintf(L"%s", lpcwstr);


или, если компилятор ломается:

printf("%s", (const char*)lpstr);
printf("%s", (const char*)lpcstr);
#include <tchar.h>
wprintf(L"%s", (const wchar_t*)lpwstr);
wprintf(L"%s", (const wchar_t*)lpcwstr);
Wolfram
17:59 03-06-2009
Спасибо, надо будет попробовать.
В принципе, я так и делаю (как во втором варианте), но не всегда получается.
С этими типами такая морока.
DMZ
05:18 04-06-2009
Вместо char и wchar_t можно (и нужно, даже) использовать TCHAR, который сам, от настроек проекта будет разворачиваться в обычные или юникодные строки
Правда там тоже надо писать другие функции типа _tprintf