Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/158.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 比较TCHAR数组与空字符的最佳实践_C++_Windows_Registry - Fatal编程技术网

C++ 比较TCHAR数组与空字符的最佳实践

C++ 比较TCHAR数组与空字符的最佳实践,c++,windows,registry,C++,Windows,Registry,我正在检查注册表路径并提取值,但当找不到注册表路径时,我必须检查其他位置 TCHAR Answer[MAX_PATH] = { L'\0' }; DWORD RegResult = SHRegGetPath(HKEY_LOCAL_MACHINE, TEXT("Software\\Wow6432Node\key1"), key, Answer, NULL); 如果key1存在,则返回ERROR_SUCCESS,但是如果key1存在但没有给定值,则我想检查其他键 因此,我正在考虑将szAns

我正在检查注册表路径并提取值,但当找不到注册表路径时,我必须检查其他位置

TCHAR Answer[MAX_PATH] = { L'\0' }; 
DWORD RegResult = SHRegGetPath(HKEY_LOCAL_MACHINE, TEXT("Software\\Wow6432Node\key1"),  key, Answer, NULL); 
如果key1存在,则返回ERROR_SUCCESS,但是如果key1存在但没有给定值,则我想检查其他键

因此,我正在考虑将szAnswer与“\0”进行比较,然后继续

与“\0”相比,最佳做法是什么

    if (!(_tcsicmp(Answer,TEXT("\0"))))
    {
        std::cout << "empty string" << std::endl;


    }

if(!(\u tcsicmp(答案,文本(“\0”))
{
标准::不能使用任何一种

if (!(_tcsicmp(Answer,TEXT("\0"))))
{
    std::cout << "empty string" << std::endl;


}
使用

if (!_tcslen(szAnswer))

您是如何读取值的?读取函数本身的返回代码应该有帮助,而不是对值进行比较。您最好测试长度为零的字符串:
if(!\u tcslen(szAnswer))…
@wander3r返回码只会在找到钥匙并且钥匙具有存储在Szanswer中的价值的情况下获得成功。TCHAR的内容在世纪之交就已经过时了。你可能想要一本21世纪的教科书。
if (!_tcslen(szAnswer))