Linux高级编程基础——文件系统编程之递归遍历/home目录

本文介绍如何进行文件系统编程,通过编写程序递归遍历/Linux/home目录,列出所有文件和子目录的名称及节点号。程序会判断文件类型,遇到子目录时继续递归,直至遍历完整个目录结构。同时,文章还解释了绝对路径和相对路径的概念。
摘要由CSDN通过智能技术生成

文件系统编程之递归遍历/home目录

/编写程序完成以下功能:
1.递归遍历/home目录,打印出所有文件和子目录名称及节点号。
2.判断文件类型,如果是子目录,继续进行递归遍历,直到遍历完所有子目录为止。
/

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <dirent.h>
int show (char * path)      //该实验使用的绝对路径!!!!!!!
 {
    char p[500];  //定义一个数组
    DIR *dir;     //一个目录流指针
    struct stat statbuf;  //文件属性结构体
    struct dirent *dire;  //目录项
    lstat (path,&statbuf);  //读取文件“path”的属性放在“statbuf"中
    if (S_ISDIR(statbuf.st_mode))  //判断文件是否为目录文件
       {
         dir = opendir (path);   //打开目录文件
         if (dir)
         {
            while( (dire = readdir(dir) ) !=NULL) //读目录文件
               {
                 if(( dire ->d_name[0] )=='.')  //判断是否为当前文件
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值