У меня есть документация, где записано, что имя пользователя, IP и пароль должны быть const char*
, а когда я помещаю varaibles в const char
, я получаю это сообщение об ошибке.Невозможно преобразовать 'const char *' в 'WCHAR *' при передаче аргументов
Это мой код:
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <windows.h>
using namespace std;
typedef int (__cdecl *MYPROC)(LPWSTR);
int main()
{
HINSTANCE hinstDLL;
MYPROC ProcAdd;
hinstDLL = LoadLibrary("LmServerAPI.dll");
if(hinstDLL != NULL){
ProcAdd = (MYPROC) GetProcAddress(hinstDLL,"LmServer_Login");
if(ProcAdd != NULL){
const char* IP = "xxx.177.xxx.23";
const char* name = "username";
const char* pass = "password";
int port = 888;
ProcAdd(IP,port,name,pass);
system ("pause");
}
}
}
И я получил эту ошибку:
cannot convert
const char*' to
WCHAR*' in argument passing
Какой тип переменной я должен использовать для этих аргументов и как?
Символ '' LPWSTR' ака wchar_t * '? –
Я новичок в C++, не могу преобразовать const char * 'toWCHAR *' в аргумент, передающий это ошибка от dev ++ – DTDest
Есть ли какая-то причина, почему 'ProcAdd' принимает' LPWSTR', если вы поручаете (по вашему вопросу) const char * ', где ни константа, ни совпадение символов не совпадают? – WhozCraig