gpt4 book ai didi

c++ - 无法在参数传递中将 'const char*' 转换为 'WCHAR*'

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:07:12 26 4
gpt4 key购买 nike

我在文档中写道,用户名、IP 和密码必须是 const char*,当我将变量放入 const char 时,出现此错误消息。

这是我的代码:

#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*' toWCHAR*' in argument passing

我必须为这些参数使用哪种变量以及如何使用?

最佳答案

您很可能正在使用其中一种 Visual Studio 编译器,在 Project Settings 中,有一个 Character set 选项。选择:

  • Unicode 字符集 (UTF-16),默认
  • 多字节字符集 (UTF-8)
  • 未设置

调用在 Unicode 设置中接受字符串的函数需要您制作 Unicode 字符串文字:

"hello"

属于 const char* 类型,而:

L"hello"

const wchar_t* 类型。因此,要么将您的配置更改为 Not set,要么将您的字符串文字更改为宽字符串。

关于c++ - 无法在参数传递中将 'const char*' 转换为 'WCHAR*',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26073814/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com