gpt4 book ai didi

c - 将字符串文字放在变量之前

转载 作者:行者123 更新时间:2023-11-30 16:55:43 25 4
gpt4 key购买 nike

我正在尝试获取用户的输入并将其显示在消息框中。我遇到的问题是字符串前没有“L”,它会显示为乱码。我的 char[] 名为“input”存储用户输入的字符串,但我怎样才能使它有一个“L”呢?到目前为止我尝试过的所有操作都给了我一个错误,包括将 char 更改为 wchar_t。

#include <stdio.h>
#include <windows.h>

int main()
{
printf("Enter message to be displayed\n");
char input[20];
fgets(input,20, stdin);
MessageBox(NULL, (LPCWSTR)input, (LPCWSTR)L"You wrote", MB_OK);
return 0;
}

最佳答案

可能您的环境为编译过程定义了_UNICODE,并且MessageBox宏被扩展为MessageBoxW。尝试用以下代码替换您的代码:

MessageBoxA(NULL, input, "You wrote", MB_OK);

这明确表明您要使用 ANSI 版本,它将正确处理 fgets() 的结果。

关于c - 将字符串文字放在变量之前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40206922/

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