1. 程式人生 > >C++ 遍歷資料夾以及子資料夾下所有檔案

C++ 遍歷資料夾以及子資料夾下所有檔案

CFileFind 所提供的方法進行資料夾以及子資料夾遍歷時,經過測試會出現如果當前遍歷的路徑為碟符,且碟符中僅包含一箇中文資料夾(資料夾名以漢字開頭),此時遍歷不到該資料夾。

所以採用以下方法(需要新增頭#include "io.h" )

void GetAllFileFromPath(CString folderPath)
{
	if (folderPath == _T(""))
	{
		return;
	}

	_finddata_t FileInfo;
	CString strfind = folderPath + "\\*";
	long Handle = _findfirst(strfind, &FileInfo);

	if (Handle == -1L)
	{
		_findclose(Handle);
		return;
	}
	do{
		if (FileInfo.attrib & _A_SUBDIR)
		{
			if ((strcmp(FileInfo.name, ".") != 0) && (strcmp(FileInfo.name, "..") != 0))
			{
				CString newPath = folderPath + "\\" + FileInfo.name;
				GetAllFileFromPath(newPath);
			}
		}
		else
		{
			CString strFindName = TMGetFileExt(FileInfo.name);
			{
				//此處記錄檔案 strFindName 
			}
		}
	} while (_findnext(Handle, &FileInfo) == 0);

	_findclose(Handle);
}


測試通過!

僅做筆記記錄,請網友指正!

相關推薦

C++ 資料以及資料所有檔案

CFileFind 所提供的方法進行資料夾以及子資料夾遍歷時,經過測試會出現如果當前遍歷的路徑為碟符,且碟符中僅包含一箇中文資料夾(資料夾名以漢字開頭),此時遍歷不到該資料夾。 所以採用以下方法(需要新增頭#include "io.h" ) void GetAllFile

Python 如何資料以及資料所有檔案

第一種 import os def GetFileList(dir, fileList): newDir = dir if os.path.isfile(dir): fileList.append(dir.decode('gb

複製檔案/資料以及資料檔案; Copy file/folder including subfolder/files

/** * Mynah 許鵬飛 * @param srcFile * @param desFile */ public static void copy( final File srcFile, final File desFile ){ if( srcFile.

檔案以及資料的建立。目錄所有檔案和子目錄查詢

public static boolean createFile(String destFileName) {           File file = new File(destFileName);           if(file.exists()) {      

【筆記】window 使用c++資料及其資料檔案,並列印檔案路徑及各檔案內容

這兩天一直在學習如何使用c++遍歷資料夾、讀取檔案內容和寫入檔案。 話不多說,直接上程式碼 /** 檔案功能:遞迴遍歷資料夾,遍歷資料夾及其子資料夾和檔案.列印資料夾名稱、檔名稱和檔案數目*** 參考:https://www.cnblogs.com/collectionne/p/679230

C++資料(包含資料中的檔案

<span style="font-size:24px;">最近因為跟著老師做專案,需要遍歷指定資料夾下的指定檔案,故在此記錄學習情況,以便以後複習使用。</span> 找了幾種方法,最後決定使用資料結構_finddata_t ,網上有太多一樣的資

linux c語言遞迴資料所有檔案資料(附上替換文字檔案內容的方法)

#include <stdio.h> #include <sys/dir.h> #include <string> #include <sys/stat.h> //判斷是否為資料夾 bool isDir(const cha

c#一個資料所有檔案包括資料

using System; using System.IO; class ListAllFilesDemo { public static void Main()    {     Console.Writ

matlab資料指定型別的檔案以及資料

檔案結構 最近需要將資料夾下所有影象檔案的檔名匯出,只知道matlab的dir函式能夠獲取到目錄下的檔案以及資料夾名稱,卻不能遞迴的遍歷所有子資料夾,因此自己matlab編寫了一個函式,實現自己的需

c#資料獲得所有檔案

c#遍歷資料夾獲得所有檔案 在c#中,想要獲得一個資料夾下的所有子目錄以及檔案十分簡單。 首先,獲取目錄的情況下,DirectoryInfo.GetDirectories():獲取目錄(不包含子目錄)的子目錄,返回型別為DirectoryInfo[],支援萬用字元查詢; 其次,獲取檔案的

WIN32 C++ 資料

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

C#得到指定資料所有檔案

string path = Application.StartupPath + "\\data\\採集資料\\"; DirectoryInfo root = new DirectoryInfo(path); foreach (FileInfo f in root.GetFiles())//遍歷資料夾

C++資料所有的wav檔案(支援windows和Linux)

直接上程式碼: #include <iostream> #include <string> #include <vector> #include <fstream> #include <string.h> #includ

shell指令碼資料及其檔案所有檔案,本且替換指定文字

今天寫了一個需求,在linux上,對一個資料夾下的所有檔案中,指定的文字內容進行替換,比如 把 www.baidu.com 替換成 www.google.com 1.先熟悉幾個linux命令 (1)新建資料夾 : mkdir  資料夾名 (2)新建檔案:touch 檔

python中如何資料及其資料中的所有檔案(附實現程式碼)

【時間】2018.10.27 【題目】python中如何遍歷資料夾及其子資料夾中的所有檔案 目錄 概述 概述       本文提供了python中如何遍歷資料夾及其子資料夾中的所有檔案的兩種方法。兩者均返回檔名列表(可以選擇檔名列表或者是包含完整路徑的檔名列

C/C++資料檔案

庫函式 包含標頭檔案 #include 用到資料結構_finddata_t,檔案資訊結構體的指標。 struct _finddata_t { unsigned attrib; //檔案屬性 time_t time_c

C++資料中的檔案並把結果儲存到csv中

StaDir.h檔案 #pragma once #include "browsedir.h" class CStaDir : public CBrowseDir { public: CStaDir(void); ~CStaDir(void); int m_nFileCount;

c++資料所有檔案

#include<vector> #include<string> #include<io.h> #include<iostream> using namespace std; char * filePath = "D:\\JPEGImages

C++ 某個資料所有檔案

#include<iostream> #include<string> #include<io.h> #include<cstdio> #include<cstdlib> #include<cstring> using namespace

C#資料下子檔案

 public  class ChooseMove     {         //遍歷資料夾         public List<string> FindFile