• 删除目录下的不规则文件


    之前写代码的时候不严谨 导致产生了很多乱码文件 不太好删除 下面的代码编译后可以进行删除

    #include<stdio.h>
    #include <stdlib.h>
    #include <assert.h>
    #include <stdlib.h>
    #include <cstdio>
    #include <cstring>
    #include <cstdlib>
    #include <arpa/inet.h>
    #include <unistd.h>  
    #include <net/if.h>  
    #include <sys/ioctl.h>  
    #include <sys/types.h>  
    #include <sys/socket.h>  
    #include <fcntl.h>  
    #include <scsi/sg.h>  
    #include <linux/hdreg.h>
    #include <dirent.h>
    #include<sys/time.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <unistd.h>
    #include <signal.h>
    #include <sys/sysinfo.h>
    #include <string>
    using namespace std;
    void GetRandDir(string dir)
    {
        DIR *dfd;
        struct dirent *dp;
        if ((dfd = opendir(dir.c_str())) == NULL)
        {
            return ;
        }
        while ((dp = readdir(dfd)) != NULL)
        {
            if ('.'==dp->d_name[0])
                continue; /* 璺宠繃褰撳墠鏂囦欢澶瑰拰涓婁竴灞傛枃浠跺す浠ュ強闅愯棌鏂囦欢*/
            string dst=dir+string("/")+string(dp->d_name);
            bool isDir=false;
            {
                struct stat s_buf;
                lstat(dst.c_str(),&s_buf);
                isDir=S_ISDIR(s_buf.st_mode);
            }
            if(!isDir)
            {
                bool flag=false;
                char*p =dp->d_name;
                for(;p[0];++p)
                {
                    if(p[0]>='0'&&p[0]<='9')continue;
                    if(p[0]>='a'&&p[0]<='z')continue;
                    if(p[0]>='A'&&p[0]<='Z')continue;
                    if(p[0]=='-'||p[0]=='+'||p[0]=='.'||p[0]=='=')continue;
                    flag=true;
                }
                if(flag&&strlen(dp->d_name)>1)
                {
                    printf("%s--over
    ",dst.c_str());
                    remove(dst.c_str());
                }
            }
        }
        closedir(dfd);
    }
    int main()
    {
    GetRandDir("/home/player/hms1.0");
    GetRandDir("/home/player/hms");
    return 0;
    }
  • 相关阅读:
    微服务2:微服务全景架构
    SystemVerilog语言简介
    Slip打包与解包及MATLAB程序
    恶性卷积码
    通信原理之调制解调(2)QPSK
    FPGA仿真只适合开发定制IP的设计师?
    用CCS开发DSP应用程序的代码结构、加电装载及在线编程
    符号能量问题
    该如何选择?
    无线通信距离的计算
  • 原文地址:https://www.cnblogs.com/yuandaozhe/p/11458894.html
Copyright © 2020-2023  润新知