Linux c 目录操作函数scandir

头文件
#include <dirent.h>   
函数定义:
int scandir(const char *dir,struct dirent **namelist,int (*filter)(const void *b),
                       int ( * compare )( const struct dirent **, const struct dirent ** ) );

int alphasort(const void *a, const void *b);
int versionsort(const void *a, const void *b);

函数scandir扫描dir目录下(不包括子目录)满足filter过滤模式的文件,返回的结果是compare函数经过排序的,并保存在 namelist中。注意namelist是通过malloc动态分配内存的,所以在使用时要注意释放内存。alphasort和versionsort 是使用到的两种排序的函数。   
当函数成功执行时返回找到匹配模式文件的个数,如果失败将返回-1。
eg:
#include <dirent.h>  
int main()  
{   
     struct dirent **namelist;
   int n;
   n = scandir(".", &namelist, 0, alphasort);
   if (n < 0)  
        {   
            perror("not found\n");
       }  
    else  
     {
      while(n--)
       {
          printf("%s\n", namelist[n]->d_name);
          free(namelist[n]);
       }
     free(namelist);
    }
 }

时间: 2024-10-25 05:46:25

Linux c 目录操作函数scandir的相关文章

php中目录操作函数(删除,创建,判断)

本文章主要是介绍在php教程目录操作函数 is_dir,rd_dir,mkdir等常用的目录操作函数实例介绍. */ function dir_writeable($dir)      //自定义函数扩展功能,建立可写的目录 {   if(!is_dir($dir))        //如果给定的参数不是目录   {     @mkdir($dir,0777);       //创建目录  echo "目录".$dir."建立成功!";   } } dir_writ

python文件和目录操作函数小结_python

python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r"c:\python")检验给出的路径是否是一个文件:os.path.isfile()检验给出的路径是否是一个目录:os.path.isdir()判断是否是绝对路径:os.p

linux 目录操作函数

目录结构: struct dir{ ino_t d_ino; //此目录进入点的ino ff_t d_off; //目录开头到此目录进入点的位移 signed short int d_reclen; //d_name的长度,不包含NULL unsigned char d_type; //d_name的文件类型 char d_name[256]; // 文件名 }   创建和 删除目录: #include<sys/stat.h> #include<sys/types.h> int m

php文件与目录操作函数(1/2)

1.文件目录操作 最顶层止录是磁盘根目录,用'/'或'//' 当前目录 ./ ../表示apache的目录即htdocs目录 1.创建与删除目录 mkdir 复制代码 代码如下: <?php教程 if(mkdir("./path",0700)) //在当前目录中创建path目录 echo "创建成功"; ?> 2.获取和更改当前目录 使用getcwd()函数可以取得当前的工作目录,该函数没有参数.成功则返回当前的工作目录,失败则返回FALSE 3.打开和

php目录操作函数总结

php创建目录文件夹函数mkdir(),其结构形式如下: kdir(string $dirname,[int $mode]) 参数$dirname为想要创建目录的名称,参数$mode可选,为整型变量,表示创建模式. 实例:  代码如下 复制代码  <?php  $name="php";  $d=mkdir($name,0777); /* 0777表示最大访问权限 */  if($d){   echo "创建成功";  }  else echo "创建

php目录操作函数之获取目录与文件的类型_php基础

复制代码 代码如下: <?php $dir = "./"; // Open a known directory, and proceed to read its contents if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { echo "filename: $file : filetype: " . filetype($dir

Linux下常用C语言字符串操作函数

stroul, strdup snprintf() atio   C中常用字符串操作函数 #include <string.h>   size_t strlen(const char *s)   测量字符串长度s的实际长度. 例如s[20]="abc",那么strlen(s)的结果是3,而不是20.这就是实际长度   char *strcat(const char *s1, const *s2)    将字符串s2连接到s1的尾部.从s1的/0开始.   int strcm

Linux 文件操作函数

底层文件操作函数:  #include<unistd.h> int open(const char* pathname,int flags); int open(const char* pathname,int flags,mode_t mode);//返回值:成功,返回文件描述符 失败,返回-1,失败原因记录在errno中 int close(int fd); //返回值:成功返回0 失败返回-1 size_t read(int fd,void *buffer,sizeof(buffer))

解析linux 文件和目录操作的相关函数_C 语言

struct stat{mode_t    st_mode;    文件类型,文件权限ino_t     st_ino;        i节点号dev_t    st_dev;        dev_t    st_rdev;    设备文件序号nlink_t    st_nlink;    链接uid_t    st_uid;gid_t     st_gid;        用户IDoff_t    st_size;    文件大小,此字段只对普通文件.目录文件和符号连接有意义.time_t