gpt4 book ai didi

c++ - 将 TCHAR 转换为 strstr 函数的 char*

转载 作者:太空宇宙 更新时间:2023-11-04 05:38:46 25 4
gpt4 key购买 nike

    char skype[6] = "Skype";
HWND firstwindow = FindWindowEx(NULL, NULL, NULL, NULL);
HWND window = firstwindow;
TCHAR windowtext[MAX_PATH]; //search term

//We need to get the console title in case we
//accidentally match the search word with it
//instead of the intended target window.
TCHAR consoletitle[MAX_PATH];
GetConsoleTitle(consoletitle, MAX_PATH);

while(true){
//Check window title for a match
GetWindowText(window, windowtext, MAX_PATH);
if (strstr(windowtext, skype)!=NULL && strcmp(windowtext, consoletitle)!=0) break; //search for program
//Get next window
window = FindWindowEx(NULL, window, NULL, NULL);
if(window == NULL || window == firstwindow){
printf("Window not found.\n");
return 1;
}
} //end while
Error: cannot convert 'TCHAR* {aka wchar_t*}' to 'const char*' for argument '1' to 'char* strstr(const char*, const char*)'

问题出现在这一行:

if (strstr(windowtext, skype)!=NULL && strcmp(windowtext, consoletitle)!=0) break; //search for program

当我在 cygwin mingw32gcc 编译器中运行相同的程序时,我没有遇到任何问题。这是我使用 QT mingw32gcc 编译器的问题吗?我已经包含了<windows.h>在一开始,所以这不是问题。

编辑:好的,所以我添加了 <tchar.h>并取代 如果 (_tcsstr(windowtext, skype)!=NULL && _tcscmp(windowtext, consoletitle)!=0) 中断;

但问题仍然存在:错误:无法将参数“1”的“TCHAR* {aka wchar_t*}”转换为“const char*”到“char* strstr(const char*, const char*)”

最佳答案

不是转换为 char * 以在 strstr 中使用,您应该使用 TCHAR 等价物,_tcsstr;它将编译为对 strstrwcsstr 的正确调用。

关于c++ - 将 TCHAR 转换为 strstr 函数的 char*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25312216/

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