首页 文章

“char *”类型的参数与“LPCWSTR”类型的参数不兼容[重复]

提问于
浏览
-3

这个问题在这里已有答案:

我收到此错误:

“char *”类型的参数与“LPCWSTR”类型的参数不兼容

这是我的代码的一部分

void score(void)
{
    char s[128];
    sprintf_s(s, "Thread War! Hits:%d  Misses:%d", hit, miss);
    SetConsoleTitle(s);
    ...
}

如何解决这个问题?

1 回答

  • 0

    您正在使用 UNICODE 宏定义构建,这意味着所有函数都默认为其宽字符等效项 . 所以当你调用 SetConsoleTitle 时,这实际上是一个扩展为 SetConsoleTitleW 的宏 .

    宽字符的类型为 wchar_t ,与 char 不兼容 .

    您必须显式调用 SetConsoleTitleA ,删除 UNICODE 的定义,或者开始使用 TCHAR 及相关类型和宏 .

相关问题