C++ 将LPCWSTR铸造到LPCSTR
从一个帮助我创建按钮和东西的网站上得到了这段代码。按钮可以工作,但由于某种原因,我在创建静态文件时遇到了一个编译器错误C++ 将LPCWSTR铸造到LPCSTR,c++,windows,C++,Windows,从一个帮助我创建按钮和东西的网站上得到了这段代码。按钮可以工作,但由于某种原因,我在创建静态文件时遇到了一个编译器错误 无法从“const wchar\u t[5]”转换为“char” 无法将参数3从“char”转换为“LPCWSTR” 有没有简单的方法来解决这个问题?我试着将歌词转换成另一个变量,使其成为一个字符 static char *lyrics = TEXT("Dood"); switch (message) { case WM_CREATE: { Creat
无法从“const wchar\u t[5]”转换为“char”
无法将参数3从“char”转换为“LPCWSTR”
有没有简单的方法来解决这个问题?我试着将歌词转换成另一个变量,使其成为一个字符
static char *lyrics = TEXT("Dood");
switch (message)
{
case WM_CREATE:
{
CreateWindow(TEXT("button"), TEXT("Beep"),
WS_VISIBLE | WS_CHILD ,
20, 300, 80, 25,
hWnd, (HMENU) 1, NULL, NULL);
CreateWindow(TEXT("button"), TEXT("Quit"),
WS_VISIBLE | WS_CHILD ,
120, 300, 80, 25,
hWnd, (HMENU) 2, NULL, NULL);
CreateWindow(TEXT("STATIC"), lyrics,
WS_CHILD | WS_VISIBLE | SS_LEFT,
20, 20, 300, 230,
hWnd, (HMENU) 1, NULL, NULL);
请尝试以下方法:
static TCHAR *lyrics = TEXT("Dood");
使用您的编译器设置,TCHAR将被转换为wchar\u t。awsome!非常感谢你。这个win32的东西让我很困惑。请注意,你实际上并没有铸造任何东西。您现在使用的是正确的类型。另外值得注意的是,变量类型T将根据“Unicode Vs Multi-Byte Character Set(MBCS)”的项目设置进行解析,包装在宏中的win32函数也将进行解析-即CreateWindow宏是CreateWindowA或CreateWindowW,而TCHAR是char或wchar\T。