gpt4 book ai didi

使用 FindFirstFile/FindNextFile 删除文件夹中所有文件的 C++ 代码

转载 作者:可可西里 更新时间:2023-11-01 09:25:04 24 4
gpt4 key购买 nike

我的目标是删除给定文件夹中的所有文件,而不是删除文件夹本身。我想调用FindFirstFile随后反复调用FindNextFile在删除找到的每个文件时,使用以下伪代码:

if(FindFirstFile(FindFileData))
{
do
{
DeleteFile(FindFileData.FileName);
}
while(FindNextFile(FindFileData));

FindClose(FindFileData); //EDIT for people who didn't see my pseudo-code remark
}

但现在我在想,是否允许我在该文件夹中进行枚举时删除文件?或者换句话说,我是否需要先缓存所有找到的文件名,然后再删除它们,还是像我上面显示的那样做就可以了?

最佳答案

是的,您可以使用遍历从文件夹中安全地删除文件在这些方面,当然前提是您获得了 API 和逻辑详细信息对(例如 Frerich Raabe 的评论)。

因此您的FindFirstFile 将初始化一个WIN32_FIND_DATA 结构并且您的 FindNextFile 将引用相同的结构它的寻路目的。只要你不破坏它您可以随时删除文件。

关于使用 FindFirstFile/FindNextFile 删除文件夹中所有文件的 C++ 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17802561/

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