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。