设为首页 加入收藏

TOP

Linux 下读取指定目录下所有的目录与文件并依字母顺序
2014-11-24 07:32:38 来源: 作者: 【 】 浏览:1
Tags:Linux 读取 指定 目录 有的 文件 字母 顺序

代码如下:
#include
#include


// 自定义的过滤器函数
// 本函数只能做为 scandir 函数的参数,被 scandir 函数回调
// 注:1. 本函数不能被定义为 static int custom_filter( const struct dirent *pSDirent ) 静态函数;
//   2. 参数一定要为 const struct dirent *pSDirent 不可省略前面的 const ;
int
custom_filter( const struct dirent *dp )
{
if ( 0 == strncmp( "get",
dp->d_name,
3 ) )
{
// 非零为保留 - 不滤掉
return 1;
}

// 零为过滤掉 - 过滤掉
return 0;
}

void main()
{
struct dirent **namelist;
int i;
int total;

total = scandir( "./",
&namelist,
custom_filter,
alphasort );

if ( total < 0 )
{
printf( "scandir fault\n" );
}
else
{
for( i = 0;
i < total;
i++ )
{
printf( "%s\n",
namelist[i]->d_name );
}

printf( "total = %d\n",
total );
}
}


加了 custom_filter 过滤函数的情况
total = scandir( "./",
&namelist,
custom_filter,
alphasort );
linuxidc@linuxidc-Ubuntu:/media/TestSrc$ ./getselfname
getselfname
getselfname.c
total = 2


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇嵌入式Linux下使用的UI开发库 下一篇一个Linux下的C语言购票系统

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Java 并发工具类:提 (2025-12-25 20:25:44)
·Java面试技巧:如何 (2025-12-25 20:25:41)
·Java并发编程中的线 (2025-12-25 20:25:38)
·C 语言 - cppreferen (2025-12-25 19:50:27)
·《C 语言入门教程》 (2025-12-25 19:50:23)