获取指定路径下的所有文件
生活随笔
收集整理的這篇文章主要介紹了
获取指定路径下的所有文件
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
windows版本
參考https://www.cnblogs.com/wqpkita/p/6849283.html
// windows下遍歷指定目錄下的所有文件 void listFiles(const char * dir) {char dirNew[200];strcpy(dirNew, dir);strcat(dirNew, "\\*.*"); // 在目錄后面加上"\\*.*"進(jìn)行第一次搜索intptr_t handle;_finddata_t findData;handle = _findfirst(dirNew, &findData);if (handle == -1) // 檢查是否成功return;do{if (findData.attrib & _A_SUBDIR){// 去除.和..目錄,.表示當(dāng)前目錄,..表示上一級目錄if (strcmp(findData.name, ".") == 0 || strcmp(findData.name, "..") == 0)continue;cout << findData.name << "\t<dir>\n";}elsecout << findData.name << "\t" << findData.size << " bytes.\n";} while (_findnext(handle, &findData) == 0);_findclose(handle); // 關(guān)閉搜索句柄 }Linux版本
#include <iostream> #include <unistd.h> #include <string> #include <string.h> #include <stdio.h> #include "fstream" #include <dirent.h>int main() {char *thisDirectory = NULL;// 獲取當(dāng)前路徑if ( ( thisDirectory = getcwd( NULL, 0 ) ) == NULL ){cout << "get this directory error" << endl;}else {cout << thisDirectory << endl;// 指向父目錄strcat(thisDirectory, "/..");}// linux在指定目錄下遍歷所有文件DIR * dir = opendir(thisDirectory); //打開一個目錄dirent * ptr;while((ptr = readdir(dir)) != NULL) //循環(huán)讀取目錄數(shù)據(jù){// 去除.和..目錄if (strcmp(ptr->d_name, ".") == 0 || strcmp(ptr->d_name, "..") == 0)continue;cout << ptr->d_name << endl;}closedir(dir);//關(guān)閉目錄指針 }?
總結(jié)
以上是生活随笔為你收集整理的获取指定路径下的所有文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CP-ABE公式推导笔记
- 下一篇: 报表服务扩展:基于WCF技术的报表服务扩