linux c遍历文件夹的方法

linux c遍历文件夹的方法比较简单,使用c来实现

#include <iostream>
#include <stdio.h>

#include <sys/types.h>
#include <dirent.h>
#include <sys/dir.h>
#include <sys/stat.h>

...
enum{    DT_UNKNOWN = 0,     //未知类型    DT_FIFO = 1,        //管道    DT_CHR = 2,         //字符设备文件    DT_DIR = 4,         //目录    DT_BLK = 6,         //块设备文件    DT_REG = 8,         //普通文件    DT_LNK = 10,        //连接文件    DT_SOCK = 12,       //套接字类型    DT_WHT = 14         //};
void loopDir(const char *dir_path) {   char temp[256] = {0};   struct dirent *pdirent;
    DIR *d_info =  opendir(dir_path);
    if (d_info)
    {
        while ((pdirent = readdir(d_info)) != NULL)
        {
            if (pdirent->d_type & DT_REG)
            {
                //普通文件
            }
            if (pdirent->d_type & DT_DIR)
            {
                //目录,递归

            }
        }

    }
}

...                
时间: 2024-10-09 11:31:21

linux c遍历文件夹的方法的相关文章

linux下遍历文件夹---opendir等用法

首先要说肯定是头文件,#include <sys/types.h>   #include <dirent.h> linux下遍历文件夹需要用到以下几个函数,其中有三个是必须的,其它几个是可选的. DIR* opendir(const char * name);   失败返回NULL.成功返回DIR结构体.注意DIR前面没有struct,如果加上编译器会warning struct dirent *readdir(struct DIR* dir);   失败返回NULL. void

遍历文件夹的方法

只遍历子文件夹和根文件夹下面文件目录的方法: DirectoryInfo theFolder = new DirectoryInfo(@"E:\工作\Work");//文件的操作类 FileInfo[] fileRootInfo = theFolder.GetFiles();//返回当前根目录的文件 foreach (FileInfo NextFile in fileRootInfo) { this.listBox1.Items.Add(NextFile.Name);//遍历文件 }

LINUX 拥有遍历文件夹功能的 查找关键字 文件、文件夹

查找文件: [[email protected] admin]# find . -type f -name "a.txt" ./Downloads/hadoop-2.10.0/a.txt 拥有遍历文件夹功能的 查找关键字 文件.文件夹: [[email protected] admin]# vi a [[email protected] admin]# find /home/admin/ -type f | xargs grep "i like apple" Bin

Java7遍历文件夹

Java遍历文件夹的方法有多种,之前我写了一种遍历文件夹的方法点击,使用File类的方法递归遍历,这次是使用Java7提供的新的方法遍历文件夹. File提供两个方法遍历文件夹, 上面两个方法都需要FileVisitor参数,FileVisitor代表一个文件访问器,walkFileTree()方法会自动遍历start路径下的所有文件和子目录,遍历文件和子目录都会触发FileVisitor中相应的方法.这四个方法在下面的代码中出现. FileVisitor中的四个方法会返回一个FileVisit

linux下SVN忽略文件/文件夹的方法

linux下SVN忽略文件/文件夹的方法 假设想忽略文件temp 1. cd到temp所在的目录下: 2. svn propedit svn:ignore . 注意:请别漏掉最后的点(.表示当前目录),如果报错请看下面 3. 打开的文件就是忽略列表文件了(默认是空的),每一行是一项,在该文件中输入temp,保存退出 4. svn st查看状态,temp的?状态已经消除了 如果在svn propedit svn:ignore .时报错:svn: None of the environment va

Linux服务器删除乱码文件和文件夹的方法

Linux服务器删除乱码文件和文件夹的方法 首页进入乱码文件所在文件夹由于php大势所趋,所以接触Linux服务器的机会越来越多.不同于Windows服务器,Linux服务器只支持数字.英文等字符,对中文字符没办法识别.所以导致我们打包上传文件解压之后出现中文乱码文件和文件夹.网上有很多解决的办法,但是今天亲测用find命令能快速删除乱码的文件和文件夹,所以跟大家分享一下. 使用ls -i命令找到文件或文件夹的节点编号 前面的就是节点号了,接下来使用find命令查询并且删除 -inum指根据节点

Linux下创建文件和文件夹的方法-老男孩Linux运维学习笔记2

我们可以在Linux里面通过多个命令来创建文件: touch命令创建文件: -创建单个文件: [[email protected] oldboy]# touch oldboy [[email protected] oldboy]# ll 总用量 0 4325378 -rw-r--r-- 1 root root 0 2017-05-27 13:30 oldboy -创建多个文件: [[email protected] oldboy]# touch oldboy1 oldboy2 oldboy3 

Python实现Windows和Linux之间互相传输文件(文件夹)的方法

项目中需要从Windows系统传输ISO文件到Linux测试系统,然后再Linux测试系统里安装这个ISO文件.所以就需要实现如何把文件从Windows系统传输到Linux系统中. 在项目中使用了pscp.exe这个工具,只要按照pscp.exe的使用说明操作即可.只要进入pscp.exe的安装位置,然后输入pscp即可查看pscp的使用说明. 下面是我机器上的: 使用Python实现也挺简单的,下面的code主要介绍4中情况: 1. windows传输文件到Linux 2. windows传输

Linux下的C程序,遍历文件夹并统计其中各个类型文件所占百分比

递归遍历一个目录下的所有文件和文件夹,统计各个类型文件所占的百分比 程序代码a.cpp(编译命令:g++ a.cpp -o a) #include <stdio.h> #include <sys/stat.h> #include <sys/types.h> #include <unistd.h> #include <stdlib.h> #include <dirent.h> #include <string.h> stru