#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("
编程实现类似ls -l目录查询功能要求查询指定目录下的 文件及子目录信息
最新推荐文章于 2023-08-31 14:21:05 发布