ls命令具有一个-r选项,可以递归的列出子目录中的内容。请编写一个具有同样功能的程序。...
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选项,可以递归的列出子目录中的内容。请编写一个具有同样功能的程序。...相关推荐
- 编写一个能够排序的函数模板。_LeetCode刷题——9.给出n对括号,请编写一个函数来生成所有的由n对括号组成的合法组合...
难度(medium) 题目描述: 给出n对括号,请编写一个函数来生成所有的由n对括号组成的合法组合.例如n=3,解集为: "((()))", "(()())" ...
- c语言中如何设计和编写一个应用系统?
C程序中,如何设计和编写一个应用系统? 一. C语言文件的操作 1. 文件操作的基本方法: C语言将计算机的输入输出设备都看作是文件.例如,键盘文件.屏幕文件等. 向屏幕输出一个信息,例如" ...
- 编写c语言程序 斐波那契,请编写一个函数,生成并显示前n个斐波那契数.在主程序中测试...
编写一个函数求n!,并编写主函数调用该函数 计算e=1+I/1!+1/2!+1/3!+...+1/n!:当n=10时结束 #includeintjiecheng(int);voidmain(){flo ...
- C语言中fun的功能是将字符串,c语言程序设计请编写一个函数fun,它的功能是:将ss所指字符串中所.,c语言程序设计题 请编写一个函数fun,它的功能是:将ss所...
计算机二级C语言上机南开100题--1 1: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中. ...
- 请编写一个函数,计算n*m的棋盘格子(n为横向的格子数,m为竖向的格子数)沿着各自边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和向下走,不能往左和往上走。
请编写一个函数,计算n*m的棋盘格子(n为横向的格子数,m为竖向的格子数)沿着各自边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和向下走,不能往左和往上走. 递归实现: # ...
- C语言输出长方柱的体积,需要求3个长方柱的体积,请编写一个基于对象的程序。数据成员包括length(长)、width(宽)、 height(高)。要求用成员函数实现以下功能...
需要求3个长方柱的体积,请编写一个基于对象的程序.数据成员包括length(长).width(宽). height(高).要求用成员函数实现以下功能: (1) 由键盘分别输入3个长方柱的长.宽.高: ...
- Java黑皮书课后题第6章:*6.14(估算π)π可以使用下面的数列进行计算。编写一个方法,对于给定的i返回m(i),并编写一个测试程序,显示如下表格
6.14(估算π)π可以使用下面的数列进行计算.编写一个方法,对于给定的i返回m,并编写一个测试程序,显示如下表格 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 6.14(估算π)π ...
- Java黑皮书课后题第1章:1.10(以英里计的平均速度)假设一个跑步者45分30秒跑了14千米。编写一个程序显示以每小时多少英里为单位的平均速度值
题目 题目描述 1.10(以英里计的平均速度)假设一个跑步者45分30秒跑了14千米.编写一个程序显示以每小时多少英里为单位的平均速度值.(注意,1英里约等于1.6千米) 槽点 1.11需要转换的数值 ...
- 某公司有一台打印、复印一体机,需要将购买成本分年均摊到隔年的费用中。请编写一个程序,根据用户输入的购买金额和预计使用年限计算每年的分摊费用。要求对输入异常进行适当的处理。
某公司有一台打印.复印一体机,需要将购买成本分年均摊到隔年的费用中. 请编写一个程序,根据用户输入的购买金额和预计使用年限计算每年的分摊费用. 要求对输入异常进行适当的处理. def compute_ ...
最新文章
- python中x y表示_Python中表达式x += y和x = x+y 的区别详解
- 主流浏览器的HTTP最大并发连接数
- 七、发生交通事故后的自救、急救等基本知识,以及常见危险化学品等知识
- c语言程序设计现代方法(2th)第12章答案(自己胡乱编写的答案,持续更新)
- 25/100. Palindrome Linked List
- 本地开发的 SAP UI5 应用,部署到 ABAP 服务器执行出错的问题分析
- Kotlin学习笔记 第二章 类与对象 第十四 十五节 委托 委托属性
- 文件操作,读文件、写文件、获取文件长度、删除文件、判断文件格式等。
- 2017-03-10Git撤销修改
- win7开机动画怎么换
- mysql授权数据库(或表)给用户
- 单片机sprintf函数的用法_C++小知识之sprintf用法
- 递归函数定义、递归应用案例-科赫雪花/雪花晶片/汉诺塔
- unity设置手机横屏方法和相关问题
- VBlog 静态页面 动态博客
- 怎样将纸质文档转换成图片,然后转换成word文字
- 题目名称:你好,i春秋
- 【newCoder】2016校招真题在线编程 风口的猪-中国牛市
- 怎么用Python批量添加zabbix-host主机
- 我所了解的竞价排名那点事儿