#include <dirent.h>
void recovery_backend()
{
DIR * pdir ;
struct dirent * pdirent;
struct stat f_ftime;
char full_path[PATH_MAX] = {};
char buf[PATH_MAX] = {};
char cmd[] = {};
pdir = opendir(cups_backend);
if(pdir == NULL)
return ;
for(pdirent = readdir(pdir);pdirent != NULL;pdirent = readdir(pdir))
{
if(strcmp(pdirent->d_name,".")==||strcmp(pdirent->d_name,"..")==) continue;
memset(full_path,,sizeof(full_path));
snprintf(full_path,sizeof(full_path),"%s%s",cups_backend,pdirent->d_name);
if(stat(full_path,&f_ftime) != )
if(S_ISDIR(f_ftime.st_mode)) continue; /*子目录跳过*/
if(f_ftime.st_mode & S_IFDIR) continue;
memset(buf,,sizeof(buf));
readlink(full_path,buf,sizeof(buf));
if(strcmp(full_hook_backend,buf) == )
{
remove(full_path);
memset(cmd,,sizeof(cmd));
snprintf(cmd,sizeof(cmd),"cp -P %s%s %s",bk_backend,pdirent->d_name,cups_backend);
system(cmd);
}
}
closedir(pdir);
}

遍历目录

void CConfigfile::GerConfigFile(const char *strpath)
{
char dir[MAX_PATH] = {0};
char childpath[MAX_PATH] = {0};
DIR *dp; // 定义子目录流指针
struct dirent *entry; // 定义dirent结构指针保存后续目录
struct stat statbuf; // 定义statbuf结构保存文件属性
strcpy(dir, strpath);
if((dp = opendir(dir)) == NULL) // 打开目录,获取子目录流指针,判断操作是否成功
{
puts("can't open dir.");
return;
}
//chdir (dir); // 切换到当前目录
while((entry = readdir(dp)) != NULL) // 获取下一级目录信息,如果未否则循环
{
lstat(entry->d_name, &statbuf); // 获取下一级成员属性
if(S_IFDIR &statbuf.st_mode) // 判断下一级成员是否是目录
{
if (strcmp(".", entry->d_name) == 0 || strcmp("..", entry->d_name) == 0)
continue; sprintf(childpath,"%s/%s",strpath,entry->d_name);
printf("path:%s\n",childpath);
GerConfigFile(childpath);
//printf("%*s%s/\n", depth, "", entry->d_name); // 输出目录名称
//scan_dir(entry->d_name, depth+4); // 递归调用自身,扫描下一级目录的内容
}
else
{ }
//printf("%*s%s\n", depth, "", entry->d_name); // 输出属性不是目录的成员
}
//chdir(".."); // 回到上级目录
closedir(dp); // 关闭子目录流
return;
}

  

linux c 遍历目录及文件的更多相关文章

  1. Linux下遍历目录及文件,更改权限

    Linux下遍历目录及文件,更改权限 引言: 我在Linux下搭建android时,将eclipse及sdk复制到/usr/下时,总会出现无法读,无法写写样的问题. 解决方案: 有两个方案: 一.将复 ...

  2. linux C遍历目录下文件

    参考链接: http://blog.sina.com.cn/s/blog_626b7339010161tr.html

  3. 【app】遍历目录所有文件

    遍历目录所有文件   原创,转载时请注明,谢谢.邮箱:tangzhongp@163.com 博客园地址:http://www.cnblogs.com/embedded-tzp Csdn博客地址:htt ...

  4. Linux中/proc目录下文件详解

    转载于:http://blog.chinaunix.net/uid-10449864-id-2956854.html Linux中/proc目录下文件详解(一)/proc文件系统下的多种文件提供的系统 ...

  5. php遍历目录下文件,并读取内容

    <?php echo "<h2>遍历目录下文件,并读取内容</h2><br>\n"; function listDir($dir) { i ...

  6. linux下为目录和文件设置权限

    摘:linux下为目录和文件设置权限 分类: Linux2012-05-09 03:18 7456人阅读 评论(1) 收藏 举报 linuxwordpressweb数据库serverfile linu ...

  7. Linux中/proc目录下文件详解(转贴)

      转载:http://www.sudu.cn/info/index.php?op=article&id=302529   Linux中/proc目录下文件详解(一) 声明:可以自由转载本文, ...

  8. dos下遍历目录和文件的代码(主要利用for命令)

    对指定路径指定文件进行遍历的程序,这里有多个批处理代码,但运行好像有些问题,大家可以根据需要选择 ===== 文件夹结构 ======================================= ...

  9. dos下遍历目录和文件的代码(主要利用for命令)(转)

    ===== 文件夹结构 ============================================= D:\test ---A Folder 1 |-----A file 1.txt | ...

随机推荐

  1. tornado 06 数据库—ORM—SQLAlchemy——基本内容及操作

    tornado 06 数据库—ORM—SQLAlchemy——基本内容及操作 一. ORM #在服务器后台,数据是要储存在数据库的,但是如果项目在开发和部署的时候,是使用的不同的数据库,该怎么办?是不 ...

  2. 浏览器端 禁止 html 使用后退 或者替换后退功能..

    知乎大佬的代码: 作者:独夜行 链接:https://www.zhihu.com/question/40511430/answer/166467343 来源:知乎 著作权归作者所有.商业转载请联系作者 ...

  3. anaconda多环境配置

    分享几篇比较好的帖子: https://zhuanlan.zhihu.com/p/25198543 http://www.imooc.com/article/18123

  4. P3704 [SDOI2017]数字表格 (莫比乌斯反演)

    [题目链接] https://www.luogu.org/problemnew/show/P3704 [题解] https://www.luogu.org/blog/cjyyb/solution-p3 ...

  5. RabbitMQ 在Linux环境中的默认位置

    参考:https://www.rabbitmq.com/relocate.html

  6. 【算法笔记】B1018 锤子剪刀布

    1018 锤子剪刀布 (20 分) 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算最大. ...

  7. [源代码]List的增加与删除

    // Removes the element at the given index. The size of the list is // decreased by one. // public vo ...

  8. NodeJS使用SSL证书

    [From] https://segmentfault.com/q/1010000004705326 var options = { key: fs.readFileSync('../ssl/priv ...

  9. 破解MyEclipse

  10. js简介 基本操作 以及循环语句 内置对象 函数044

    js 全称 javascript 从交互的角度 描述行为 一 .js注释方法: //单行注释    声明变量 var 二 .声明多个变量 :   var a = '2' ,b = 4, c = tru ...