设为首页 加入收藏

TOP

Linux中使用glib库函数实现递归获取具有特定扩展名的文件
2014-11-24 03:27:13 来源: 作者: 【 】 浏览:1
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交叉编译与移植

评论

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

·Shell脚本:Linux Sh (2025-12-25 05:50:11)
·VMware虚拟机安装Lin (2025-12-25 05:50:08)
·Linux学习教程,Linu (2025-12-25 05:50:06)
·工业机器人TCP校准中 (2025-12-25 05:19:17)
·opc 通讯协议与 TCP (2025-12-25 05:19:15)