比较TCHAR和String

贾斯汀

对于C ++,我还是一个极端的菜鸟。我目前讨厌的事情之一(到目前为止)是winAPI中的1,000,000,000种不同类型的变量。我制作的这个用于检查窗口是否存在的小程序很快就制成了。但是最难的部分是什么?只需将“字符串”进行比较,看看是否匹配。最简单的部分是最难的部分!

不管怎么说,我的问题:我怎么能比一个找到相当,看它们是否匹配?

BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lparam){
    TCHAR a[260];
    string toFind = "Google Chrome";

    hwnd = GetParent(hwnd);
    GetWindowText(hwnd, a, sizeof(a));

    if(strcmp(a,toFind) == 0){          //doesn't work
        cout << "found the window";
    }

    return TRUE;
}
乔伊

string在这种情况下,您不应该使用a TCHAR[],然后将其与适当的包装器函数进行比较:

TCHAR toFind[] = _T("Google Chrome");

...

if (_tcscmp(a, toFind) == 0)

TCHAR可能是charwchar_t,取决于是否UNICODE被定义(我当然希望它在你的情况,这也可以解释为什么它不是直接的工作定义)。因此,如果您决定使用它(我绝对不会再为Windows 9x / ME编写软件,或者通常不支持Unicode的软件),那么您还必须遵守其规则。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

比较TCHAR *和TCHAR *中的值[]

系统:: String ^到TCHAR *

将std :: string转换为const tchar *

与IF条件下的int和string比较

比较从float和string创建的Python小数

使用LINQ和SQLServer比较int和string与前导零

安全的C ++ std :: string到TCHAR *转换吗?

“ Flattening” std :: set <std :: string>用于存储和比较?

比较百里香中的int和string

使用Freemarker比较String和Spring Security标签

比较String.endsWith(..)和正则表达式

比较std :: string和C样式的字符串文字

重载相等运算符(==)以比较String和Int

C编程中argv[1]和string的比较

在 TypeORM 查询构建器上比较 uuid 和 string

在Java中比较String时是否需要检查null和“”?

在String和Naive格式之间比较Python中的时间

比较来自std :: string和Unicode C ++的迭代字符

如何在Java中比较sysdate时间和String时间

Java ==运算符适用于列表和集合比较,但给出String和StringBuilder比较的编译时错误

是否有可能以任何方式覆盖等于和比较Integer和String类的方法?

如何比较Range <String.Index>和DefaultBidirectionalIndices <String.CharacterView>?

Python 2如何比较string和int?为什么列表比较的结果大于数字,而元组的结果大于列表?

如何使用C#比较两个字典`Dictionary <string`,int>和`Dict_Aggregate =`Dictionary <string`,string>`

比较JSON和BSON

比较FileTime和LocalDateTime

Python布尔比较和是

NSArray和NSInteger的比较

的AtomicInteger和比较操作