设为首页 加入收藏

TOP

Linux中使用glib库函数实现递归获取具有特定扩展名的文件
2014-11-24 03:27:13 来源: 作者: 【 】 浏览:0
Tags:Linux 使用 glib 函数 实现 获取 具有 特定 扩展 文件

#include


int file_filter(gchar *dir_name,gchar * suffix)
{
if(!g_file_test(dir_name,G_FILE_TEST_IS_DIR)||g_file_test(dir_name,G_FILE_TEST_IS_SYMLINK))
{
g_printf("Abandoned!\n");
return 1;
}
GDir *dir;
if(!(dir = g_dir_open(dir_name,0,NULL)))
{
g_printf("Directory Opened Error!\n");
return 1;
}
gchar *abs_path = NULL;
const gchar *filename;
while(filename = g_dir_read_name(dir))
{
abs_path = g_strjoin("/",dir_name,filename,NULL);
if(g_file_test(abs_path,G_FILE_TEST_IS_DIR)&&!g_file_test(abs_path,G_FILE_TEST_IS_SYMLINK))
{
file_filter(abs_path,suffix);
}
else if(!g_file_test(abs_path,G_FILE_TEST_IS_SYMLINK)&&g_str_has_suffix(abs_path,suffix))
{
g_printf("%s\n",abs_path);
}


}
g_dir_close(dir);
g_free(abs_path);
}


int main(int argc,char *argv[])
{
if(argc != 2)
{
g_printf("Parameters Error!\n");
return 1;
}
file_filter(argv[1],"c");
return 0;
}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android常用功能实例 下一篇Ubuntu下linphone交叉编译与移植

评论

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

·常用meta整理 | 菜鸟 (2025-12-25 01:21:52)
·SQL HAVING 子句:深 (2025-12-25 01:21:47)
·SQL CREATE INDEX 语 (2025-12-25 01:21:45)
·Shell 传递参数 (2025-12-25 00:50:45)
·Linux echo 命令 - (2025-12-25 00:50:43)