c++读取文件名
文件类型
| 类型 | 数值 | 备注 |
|---|---|---|
| DT_UNKNOWN | 0 | |
| DT_FIFO | 1 | 一个命名管道或FIFO |
| DT_CHR | 2 | 字符设备 |
| DT_DIR | 4 | 目录 |
| DT_BLK | 6 | 块设备 |
| DT_REG | 8 | 常规文件 |
| DT_LNK | 10 | 字符链接 |
| DT_SOCK | 12 | 套接字 |
| DT_WHT | 14 |
#include
#include
#include
#include
#include
#include using namespace std;int readFileList(char *basePath)
{DIR *dir;struct dirent *ptr;char base[1000];if ((dir=opendir(basePath)) == NULL){perror("Open dir error...");exit(1);}while ((ptr=readdir(dir)) != NULL){if(strcmp(ptr->d_name,".")==0 || strcmp(ptr->d_name,"..")==0)continue;else if(ptr->d_type == 8)cout << "path_name:" << basePath << ptr->d_name << endl;else if(ptr->d_type == 10) cout << "path_name:" << basePath << ptr->d_name << endl;else if(ptr->d_type == 4){memset(base,'\0',sizeof(base));strcpy(base,basePath);strcat(base,"/");strcat(base,ptr->d_name);readFileList(base);}}closedir(dir);return 1;
}int main(void)
{string path = "path_name";char basePath[1000];strcpy(basePath, path.c_str());readFileList(basePath);return 0;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
