linux目录文件扫描程序,Linux中实现一个目录扫描程序

Linux中C语言与Shell实现目录扫描
本文介绍了如何在Linux环境下使用C语言和Shell编程实现目录扫描程序。C语言实现利用opendir, readdir, closedir等库函数,Shell实现则通过递归函数recls展示目录内容。两个方法都支持递归遍历子目录。" 113311896,10536947,电力系统潮流计算:牛顿-拉夫逊法与MATLAB实现,"['电力系统', '计算方法', 'MATLAB编程', '迭代算法']

Linux中目录扫描程序的实现:

(1)C语言实现。重点要用到中的库函数opendir,readdir,closedir,中的系统调用chdir。下面为实现文件,文件名为printdir.c。

#include

#include

#include

#include

#include

#include

/* 目录扫描,dir为目录名,depth为初始的缩进空格数 */

void printdir(char *dir,int depth){

DIR *dp;

struct dirent *entry;

struct stat statbuf;

if((dp=opendir(dir))==NULL){ /* 打开目录,返回DIR结构dp */

fprintf(stderr,"cannot open directory: %s/n",dir);

return;

}

chdir(dir);

while((entry=readdir(dp))!=NULL){ /* 读取目录项(目录中的文件或子目录) */

lstat(entry->d_name,&statbuf); /* 获取文件状态信息,放在statbuf结构中 */

if(S_ISDIR(statbuf.st_mode)){

/* 忽略目录.和目录.. */

if(strcmp(".",entry->d_name)==0 || strcmp("..",entry->d_name)==0)

continue;

/* 输出的目录名后加一斜杠,缩进的空格数由depth指定 */

printf("%*s%s/\n",depth,"",entry->d_name);

pr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值