gpt4 book ai didi

c - FindFileFirst() 每个路径的句柄值无效

转载 作者:行者123 更新时间:2023-11-30 14:31:22 25 4
gpt4 key购买 nike

我试图让 FindFileFirst() Windows API 调用正常工作,但每次尝试都完全失败。我已经尝试过 .、C:\*.*、.txt、C:\.txt 但它甚至没有迭代目录名称。不知道该尝试什么了。当我调用 GetLastError() 时,我收到 ERROR_FILE_NOT_FOUND 2 (0x2)。感谢您提供的任何帮助。

HANDLE hFind;
LPWIN32_FIND_DATA FindFileData;

hFind = FindFirstFile("*.*", &FindFileData);

if(hFind == INVALID_HANDLE_VALUE)
{
printf("\nFindFirstFile failed (%u)\n",GetLastError());
return;
}

do
{
if(FindFileData->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if(FindFileData->cFileName[0] != '.')
continue;
else
searchDir(makePath(path, FindFileData->cFileName));
}

printf("Found %s %s\n",
FindFileData->dwFileAttributes,FindFileData->cFileName);
FindClose(hFind);
}
while(FindNextFile(hFind, &FindFileData));

FindClose(hFind);

最佳答案

LPWIN32_FIND_DATA 查找文件数据;

您正在使用 FindFileData 指针,但没有为其分配内存。

使用这种方式..(“删除 LP”)

WIN32_FIND_DATA 查找文件数据;//这将使用堆栈内存

然后引用 FindFileData.dwFileAttributes 等成员而不是 FindFileData->dwFileAttributes

关于c - FindFileFirst() 每个路径的句柄值无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1469671/

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