gpt4 book ai didi

c - 我需要帮助来使用 DeleteDirectory 和 DeleteFile API 函数删除目录

转载 作者:太空宇宙 更新时间:2023-11-04 04:54:54 27 4
gpt4 key购买 nike

我编辑了我的代码,但我仍然遇到同样的问题,文件不会删除,目录仍然没有删除,我需要帮助

#include<stdio.h>
#include<Windows.h>
#include<tchar.h>

void Delete(WIN32_FIND_DATA x);

int main(int argc , char*argv[])
{
WIN32_FIND_DATA x , d;
HANDLE f = FindFirstFile(L"d:\\Text\\*.*" , &x);
if(f == INVALID_HANDLE_VALUE)
{
printf("Serach faild\n");
return 0;
}

Delete(x);

while(FindNextFile(f , &x))
Delete(x);

FindClose(f);

printf("Now I'm going to delete the Directory\n");
if(RemoveDirectory(L"d:\\Text"))
printf("Successed\n");
else
printf("Did not\n");
}

void Delete(WIN32_FIND_DATA x)
{
if((x.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0)
{
_tprintf(L"The first File name is %s\n" , x.cFileName);
printf("I'm going To delete The File\n");
if(DeleteFile(L"d:\\Text\\x.cFileName"))
printf("File Deleted\n");
else printf("False\n");
}

else
_tprintf(L"The Directory name is %s\n" , x.cFileName);

}

我找不到这段代码的问题,我把我知道的都写了,任何人都可以编辑它来工作,谢谢大家

最佳答案

删除目录中的所有内容后,它仍将包含“.”的条目。和“..”目录,不能删除(除非删除包含的目录)。因此,您删除目录的代码将永远不会执行,但您的第二个 FindFirstFile 将始终显示两个条目,即使您已成功删除所有内容。

关于c - 我需要帮助来使用 DeleteDirectory 和 DeleteFile API 函数删除目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9964141/

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