1 #include <unistd.h>
 2 #include <stdio.h>
 3 #include <stdlib.h>
 4 #include <dirent.h>
 5 #include <string.h>
 6 #include <sys/stat.h>
 7 /**
 8  * 将数据的目录和深度一起传进来
 9  */
10 void printfdir(char *dir, int depth) {
11
12     DIR * dp; //对目录进行操作
13     struct dirent *entry; //对目录的数据项进行操作
14     struct stat statbuf;  //用来记录状态信息
15     if ((dp = opendir(dir)) != NULL) {
16         fprintf(stderr, "不能打开目录:%s\n", dir);
17     }
18     chdir(dir); //将当前的工作目重定向
19     while ((entry = readdir(dp)) != NULL) { //使用while来对整个目录进行遍历
20         lstat(entry->d_name, &statbuf);
21         if (S_ISDIR(statbuf.st_mode)) {     //判断是否是目录,如果是目录的话,就递归调用进入下一层
22             if (strcmp(".", entry->d_name) == 0
23                     || strcmp("..", entry->d_name) == 0) {
24                 continue;
25             }
26             printf("%*s%s/\n", depth, " ", entry->d_name);
27             printfdir(entry->d_name, depth + 4);
28         } else {
29             printf("%*s%s/\n", depth, " ", entry->d_name);
30         }
31
32     }
33     chdir(".."); //如果已经浏览完,将程序当前的工作目录定为父目录
34     closedir(dp);//关闭目录流
35 }
36
37 int main(void) {
38     printfdir("/home/fjnucse/test",0);
39     return EXIT_SUCCESS;
40 }

作者:kissazi2 
出处:http://www.cnblogs.com/kissazi2/ 
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载:http://www.cnblogs.com/kissazi2/archive/2013/01/20/2868273.html

ls命令具有一个-r选项,可以递归的列出子目录中的内容。请编写一个具有同样功能的程序。...相关推荐

  1. 编写一个能够排序的函数模板。_LeetCode刷题——9.给出n对括号,请编写一个函数来生成所有的由n对括号组成的合法组合...

    难度(medium) 题目描述: 给出n对括号,请编写一个函数来生成所有的由n对括号组成的合法组合.例如n=3,解集为:  "((()))", "(()())" ...

  2. c语言中如何设计和编写一个应用系统?

    C程序中,如何设计和编写一个应用系统? 一. C语言文件的操作 1. 文件操作的基本方法: C语言将计算机的输入输出设备都看作是文件.例如,键盘文件.屏幕文件等. 向屏幕输出一个信息,例如" ...

  3. 编写c语言程序 斐波那契,请编写一个函数,生成并显示前n个斐波那契数.在主程序中测试...

    编写一个函数求n!,并编写主函数调用该函数 计算e=1+I/1!+1/2!+1/3!+...+1/n!:当n=10时结束 #includeintjiecheng(int);voidmain(){flo ...

  4. C语言中fun的功能是将字符串,c语言程序设计请编写一个函数fun,它的功能是:将ss所指字符串中所.,c语言程序设计题 请编写一个函数fun,它的功能是:将ss所...

    计算机二级C语言上机南开100题--1 1: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中. ...

  5. 请编写一个函数,计算n*m的棋盘格子(n为横向的格子数,m为竖向的格子数)沿着各自边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和向下走,不能往左和往上走。

    请编写一个函数,计算n*m的棋盘格子(n为横向的格子数,m为竖向的格子数)沿着各自边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和向下走,不能往左和往上走. 递归实现: # ...

  6. C语言输出长方柱的体积,需要求3个长方柱的体积,请编写一个基于对象的程序。数据成员包括length(长)、width(宽)、 height(高)。要求用成员函数实现以下功能...

    需要求3个长方柱的体积,请编写一个基于对象的程序.数据成员包括length(长).width(宽). height(高).要求用成员函数实现以下功能: (1) 由键盘分别输入3个长方柱的长.宽.高: ...

  7. Java黑皮书课后题第6章:*6.14(估算π)π可以使用下面的数列进行计算。编写一个方法,对于给定的i返回m(i),并编写一个测试程序,显示如下表格

    6.14(估算π)π可以使用下面的数列进行计算.编写一个方法,对于给定的i返回m,并编写一个测试程序,显示如下表格 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 6.14(估算π)π ...

  8. Java黑皮书课后题第1章:1.10(以英里计的平均速度)假设一个跑步者45分30秒跑了14千米。编写一个程序显示以每小时多少英里为单位的平均速度值

    题目 题目描述 1.10(以英里计的平均速度)假设一个跑步者45分30秒跑了14千米.编写一个程序显示以每小时多少英里为单位的平均速度值.(注意,1英里约等于1.6千米) 槽点 1.11需要转换的数值 ...

  9. 某公司有一台打印、复印一体机,需要将购买成本分年均摊到隔年的费用中。请编写一个程序,根据用户输入的购买金额和预计使用年限计算每年的分摊费用。要求对输入异常进行适当的处理。

    某公司有一台打印.复印一体机,需要将购买成本分年均摊到隔年的费用中. 请编写一个程序,根据用户输入的购买金额和预计使用年限计算每年的分摊费用. 要求对输入异常进行适当的处理. def compute_ ...

最新文章

  1. python中x y表示_Python中表达式x += y和x = x+y 的区别详解
  2. 主流浏览器的HTTP最大并发连接数
  3. 七、发生交通事故后的自救、急救等基本知识,以及常见危险化学品等知识
  4. c语言程序设计现代方法(2th)第12章答案(自己胡乱编写的答案,持续更新)
  5. 25/100. Palindrome Linked List
  6. 本地开发的 SAP UI5 应用,部署到 ABAP 服务器执行出错的问题分析
  7. Kotlin学习笔记 第二章 类与对象 第十四 十五节 委托 委托属性
  8. 文件操作,读文件、写文件、获取文件长度、删除文件、判断文件格式等。
  9. 2017-03-10Git撤销修改
  10. win7开机动画怎么换
  11. mysql授权数据库(或表)给用户
  12. 单片机sprintf函数的用法_C++小知识之sprintf用法
  13. 递归函数定义、递归应用案例-科赫雪花/雪花晶片/汉诺塔
  14. unity设置手机横屏方法和相关问题
  15. VBlog 静态页面 动态博客
  16. 怎样将纸质文档转换成图片,然后转换成word文字
  17. 题目名称:你好,i春秋
  18. 【newCoder】2016校招真题在线编程 风口的猪-中国牛市
  19. 怎么用Python批量添加zabbix-host主机
  20. 我所了解的竞价排名那点事儿

热门文章

  1. python分析nginx日志_利用python分析nginx日志
  2. 温故10个经典排序算法(Java版)
  3. MyBatis基于Maven入门实例
  4. php 树形结构实例,php:树形结构的算法实例
  5. 3星难度-算式填符号
  6. 多重背包(dp专题)
  7. Linux中的Docker容器的数据卷
  8. IDEA安装“Alibaba Java Coding Guidelines”插件
  9. python中哪些是无序_Python笔记 【无序】 【三】
  10. 计算机原理 ---- 程序之下