文件系统编程之递归遍历/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] )=='.') //判断是否为当前文件