• 递归删除文件夹及文件


    递归删除文件夹下文件:

    #include <string.h>        // for strcpy(), strcat()
    #include <io.h>
    #include<stdio.h>
    #define Max 100000//文件数量
    int FileSearch(const char *dir);
    int Write(void);
    int i = -1;
    typedef struct Data{
    unsigned long size;
    char dir[500];
    }Data;
    Data data[Max];
    int main(void)
    {
    char *dir = "D:\ziptest\ziptest\Yasuotest\YA";//要读取的初始路径
    FileSearch(dir);
    printf( "Total files is %d
    
    ", i+1);
    Write();
    printf("done!
    ");
    return 0;
    }
    int Write(void)//将获得的目录栈写到本地文件
    {
    FILE*fp;
    if ((fp = fopen("1.txt", "w")) == NULL)
    return -1;
    fprintf(fp,"Total files is %d
    
    ", i+1);
    while (i > -1)
    {
    fprintf(fp, "%s	%ld
    ", data[i].dir, data[i].size);
    i--;
    }
    fclose(fp);
    }
     
     
    int FileSearch(const char *dir)//递归遍历当前目录下的所有文件
    {
    long handle;
    struct _finddata_t findData;
    char dirNew[500];
    strcpy(dirNew, dir);
    strcat(dirNew, "\*.*");
    if ((handle = _findfirst(dirNew, &findData)) == -1L)
    {
    printf("Failed to findfrist file");
    return -1;
    }
    while (_findnext(handle, &findData) == 0)
    {
    	printf("%s",dirNew);
    if (findData.attrib & _A_SUBDIR)
    {
    if (strcmp(findData.name, ".") == 0 || strcmp(findData.name, "..") == 0)
    continue;
    strcpy(dirNew, dir);
    strcat(dirNew, "\");
    strcat(dirNew, findData.name); 
    FileSearch(dirNew);
     
    }
    else
    {
    if (++i < Max)//将路径入栈
    {
    strcpy(data[i].dir , dir);
    strcat(data[i].dir, "\");
    strcat(data[i].dir, findData.name);
    data[i].size = findData.size;
    } 
    } 
    }
    _findclose(handle);
    }
    
  • 相关阅读:
    LeetCode 501. 二叉搜索树中的众数
    LeetCode 404.左叶子之和
    LeetCode 450. 删除二叉搜索树中的节点
    LeetCode 437. 路径总和 III
    LeetCode 429. N 叉树的层序遍历
    LeetCode 213. 打家劫舍 II
    LeetCode 337. 打家劫舍 III
    LeetCode 198. 打家劫舍
    LeetCode 235. 二叉搜索树的最近公共祖先
    LeetCode 230. 二叉搜索树中第K小的元素
  • 原文地址:https://www.cnblogs.com/cqyp/p/13754291.html
Copyright © 2020-2023  润新知