Linux系统常用目录操作函数
2013-02-18 16:44
519 查看
参考《Linux程序设计》第二版P103
扫描目录:
涉及的几个目录操作函数为:
(1) DIR *opendir(const char *name);
(2) struct dirent *readdir(DIR *dirp);
(3) int closedir(DIR *dirp);
(4) int chdir(const char *path);
以及文件操作函数:
int lstat(const char *path, struct stat *buf);
扫描目录:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> #include <dirent.h> #include <unistd.h> #include <sys/stat.h> void printdir(char *dir, int depth); int main(void){ printf("Directory scan of /home:\n"); printdir("/home", 0); printf("Done.\n"); exit(0); } void printdir(char *dir, int depth){ DIR *dp; struct dirent *entry; struct stat statbuf; if((dp = opendir(dir)) == NULL){ fprintf(stderr, "Can not open directory: %s.\n", dir); return; } chdir(dir); while((entry = readdir(dp)) != NULL){ lstat(entry->d_name, &statbuf); if(S_ISDIR(statbuf.st_mode)){ if((strcmp(".", entry->d_name)==0)||(strcmp("..", entry->d_name) == 0)){ continue; } printf("%*s%s/\n", depth, "", entry->d_name); printdir(entry->d_name, depth+4); } else{ printf("%*s%s\n", depth, "", entry->d_name); } } chdir(".."); closedir(dp); }
涉及的几个目录操作函数为:
(1) DIR *opendir(const char *name);
(2) struct dirent *readdir(DIR *dirp);
(3) int closedir(DIR *dirp);
(4) int chdir(const char *path);
以及文件操作函数:
int lstat(const char *path, struct stat *buf);
相关文章推荐
- Linux系统常用目录操作函数 分类: B3_LINUX 2013-02-18 16:44 486人阅读 评论(0) 收藏
- Linux系统常用目录操作函数
- Linux系统常用目录操作函数
- Linux系统常用目录操作函数
- Linux系统常用目录操作函数
- IPython下目录的操作-魔力函数(cd pwd bookmark dhist )- 千月的python linux 系统管理指南学习笔记(7)
- Linux 系统常用命令汇总(一) 文件和目录操作
- LInux文件基础知识和文件目录操作(系统调用函数方式)
- 七、Linux系统编程-文件和IO(五)fcntl函数及常用操作、文件锁
- linux常用操作命令及linux系统目录结构
- Linux 系统常用命令汇总(一) 文件和目录操作
- *Linux常用命令学习1---(安装、文件系统、目录操作命令cd ls mv cp rm mkdir、链接命令ln……)
- Linux文件系统文件属性及目录操作函数
- python 常用对linux系统文件及目录的操作
- 你一定要知道的关于Linux文件目录操作的12个常用命令
- [C语言]系统目录操作函数
- Linux操作系统常用命令—文件目录操作命令
- 初学linux命令-目录及文件常用操作命令
- Linux常用命令解析(二)--目录操作命令
- 学习笔记--Linux 常用命令一,目录操作