编程实现类似ls -l目录查询功能要求查询指定目录下的 文件及子目录信息

#include <unistd.h>
#include <unistd.h>
#include <sys/stat.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <dirent.h>
#include <string.h>
#include <time.h>
#include <pwd.h>

void getRWX(const unsigned short m);

void printdir(char *dir, int depth){
    DIR *dp;
    struct dirent *entry;
    struct stat statbuf;
    if  ((dp = opendir(dir)) ==NULL){
        printf("fail to open the dir");
        return;
    }
    chdir(dir);
    while((entry = readdir(dp))!=NULL){
      //以该目录项的名字为参数,调用lstat得到该目录项的相关信息;
      lstat(entry->d_name,&statbuf);
        if(S_ISDIR(statbuf.st_mode)){
            if(strcmp(entry->d_name,"..")==0||strcmp(entry->d_name,".")==0)
               	continue;
           // 打印目录项的深度、目录名等信息
           // 递归调用printdir,打印子目录的信息,其中的depth+4;
              getRWX(statbuf.st_mode);
              printf("

版权声明:本文为qq_45852929原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。