linux c++(IO篇 & 对目录的操作)
2021/5/4 7:25:20
本文主要是介绍linux c++(IO篇 & 对目录的操作),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
对目录的操作
#include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <dirent.h> #include <string.h> int count = 0; int dircount(char *dirname) { //打开目录 DIR *dirp = opendir(dirname); if(dirp == NULL) { perror("opendir err"); return -1; } //循环读目录,如果是普通文件,count++如果是目录,就绪调用这个函数 struct dirent *dentp = NULL; while((dentp = readdir(dirp))!=NULL) //如果为NULL 代表读到目录末尾 { // printf("dirname:%s, dtype:%d\n",dentp->d_name,dentp->d_type); if(dentp->d_type == DT_DIR) //如果是目录 { if(strcmp("..",dentp->d_name) == 0|| strcmp(".",dentp->d_name) == 0) continue; //注意进程的工作路径 char newdirname[256]={0}; sprintf(newdirname,"%s/%s",dirname,dentp->d_name); dircount(newdirname); } if(dentp->d_type == DT_REG) { //这是普通文件,开始计数 count++; } } //关闭目录 closedir(dirp); return 0; } int main(int argc,char *argv[]) { if(argc != 2) { printf("./a.out dirname\n"); return -1; } dircount(argv[1]); printf("count = %d\n",count); return 0; }
这篇关于linux c++(IO篇 & 对目录的操作)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-0600-macOS和Linux安装和管理多个Python版本
- 2024-03-30[译]漫画SELinux概念
- 2024-03-29linux 移动文件
- 2024-03-28linux .so file
- 2024-03-28Linux 磁盘管理
- 2024-03-28Linux学习笔记(十三)磁盘管理(一):磁盘分区
- 2024-03-26linux 创建 文件
- 2024-03-25使用SecureCRT对Linux vim进行颜色设置
- 2024-03-202019-2020-12 20199317 《Linux内核原理与分析》 第十二周作业
- 2024-03-20Linux运维的第二周总结