Linux系统编程:标准IO操作--索引对应路径下的文件
来源:互联网 发布:labview windows界面 编辑:程序博客网 时间:2024/06/11 08:37
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd.h> #include <dirent.h>#include <sys/stat.h>#include <sys/types.h>#include <fcntl.h>#define MAX_FILE_NUM 128#define MAX_PATH_LEN128char file_path[MAX_FILE_NUM][MAX_PATH_LEN];char *pFilePath[MAX_FILE_NUM];int total_file_num = 0;//排序文件 void SortFilePath(void){char *pTemp;int i, j, k;for (i=0; i<MAX_FILE_NUM && file_path[i]; i++)pFilePath[i] = file_path[i];for (i=0; i<total_file_num-1; i++){if (pFilePath[i] == 0)break;k = i;for (j=i+1; j<total_file_num; j++)if (strcmp(pFilePath[k], pFilePath[j]) > 0)k = j;if (k != i){pTemp = pFilePath[i];pFilePath[i] = pFilePath[k];pFilePath[k] = pTemp;}}}//判断文件路径是否存在 int is_path_exist(const char *root){ DIR *dir; dir = opendir(root); if (dir == NULL){ printf("error!\n"); return -1;}closedir(dir);return 0;}//返回该目录下文件的个数 int get_file_path(const char *root){int count, status, len; DIR *dir; struct dirent *ptr; dir = opendir(root); if (dir == NULL){ printf("fail to open dir:%s\n", root); return -1; }count=0;chdir(root); while ((ptr = readdir(dir)) != NULL){if (strcmp(ptr->d_name,".") ==0 || strcmp(ptr->d_name,"..")==0) //后面还可以加一个选项,排除文件夹 continue;strcpy(file_path[count], ptr->d_name);printf("mount: %s success!\n",ptr->d_name);count++;if (count == MAX_FILE_NUM)break; } closedir(dir);return count;}int main(void){char *name = "C:/Users/se0803/Desktop/test";struct dirent *ptr;int ret = is_path_exist(name);if(0 == ret) printf("path exist!\n");int total_file_num = get_file_path(name);printf("total_file_num:%d\n",total_file_num);SortFilePath();return 0 ;}
运行结果:
0 0
- Linux系统编程:标准IO操作--索引对应路径下的文件
- 【Linux系统编程】文件IO操作
- linux系统编程-文件IO操作
- Linux下C编程-----文件操作(1) 通过系统调用简单操作标准输入、标准输出、标准错误
- Linux系统编程:标准IO和文件IO的区别
- Linux标准文件IO操作
- Linux文件---标准IO编程
- 文件操作,标准IO,系统调用
- linux 下对于文件的IO操作
- Linux系统编程---IO操作
- Linux学习记录--文件IO操作相关系统编程
- linux系统编程之一标准IO和系统调用IO
- [Linux]--标准文件 IO 基本操作
- linux下python的文件路径操作
- Linux系统编程文件IO
- 标准IO文件操作
- 文件操作 标准IO
- Linux文件操作总结(系统调用和标准IO库函数)
- J.U.C--集合--生产者与消费者队列BlockingQueue
- 数据操作语言
- 第一周课后题
- QA的一生
- Linux命令1:压缩和解压
- Linux系统编程:标准IO操作--索引对应路径下的文件
- mac 下Atom 隐藏.DS_Store
- Unity平台的预处理
- Apache Shiro学习
- leetcode_415(两个数字字符串相加,模拟大数相加)
- hpu 1082: 循环数组最大子段和 [DP]
- 算法中的亦或--数组中只出现一次的数
- sublime text3注册码
- php(一)