gpt4 book ai didi

c++ - 如何检查 LPCTSTR 变量是否为空

转载 作者:太空狗 更新时间:2023-10-29 19:53:03 24 4
gpt4 key购买 nike

以下代码无效。这里我想检查 lpClassName 是 null 还是空。

static HRESULT WINAPI ExampleMethod(
__in_opt LPCTSTR lpClassName)
{
//code to check whether lpClassName is null or empty
if( lpClassName == 0)
return 0;

if(*lpClassName) == L'\0')
return 0;
}

最佳答案

我使用较短的形式:

if (lpClassName == NULL || lpClassName[0] == 0)

如果您只需要测试是否为空,则无需获取字符串的整个长度。如果指针为空,短路规则将防止语句的后半部分导致错误。

除此之外,我希望您问题中的代码也能正常工作。

编辑: 在这种情况下,指针似乎来自 CreateWindowEx,这意味着它可能不是实际的字符串指针,而是一个 ATOM 值。区分的方法是检查高位是否全为零。 Microsoft 对资源 ID 使用相同的约定并提供 IS_INTRESOURCE macro测试这种情况。

关于c++ - 如何检查 LPCTSTR 变量是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18314939/

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