gpt4 book ai didi

c++ - VS2010 中的字符集

转载 作者:行者123 更新时间:2023-11-28 06:59:14 26 4
gpt4 key购买 nike

我正在使用 VS2010,我的代码中有这些:

::MessageBox(0, "Init FAILED", 0, 0);

当我编译项目时,出现无法将参数 2 从“const char [25]”转换为“LPCWSTR”的错误。我在 Internet 上搜索了这个问题,人们告诉我将项目设置中的“字符集”选项从“Unicode”更改为“未设置”。但它不起作用。当我运行这些代码时:

#ifdef UNICODE
printf("unicode");
#else
printf("others");
#endif

无论我选择什么选项,我都会得到相同的答案“unicode”。我应该怎么做才能处理这个问题?

最佳答案

要回答您原来的问题,您不需要更改字符集。解决方案是使用在 tchar.h 中定义的 _T() 宏。

::MessageBox(0, _T("Init Failed"), 0, 0);

_T() 宏将通过在字符串上附加“L”来指定宽字符串,或者通过单独保留字符串来指定 ANSI 字符串。

如果您真的想使用您要更改的字符集,您应该更改字符集。您不会因为您的代码无法编译而更改字符集。

关于c++ - VS2010 中的字符集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22743843/

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