您的位置:首页 > 其它

获取文件夹中的子文件夹或文件的名字以及路径

2011-11-17 16:48 295 查看
#define _AFXDLL

#include <afxwin.h>

#include <iostream>

#include <vector>

#include <string>

using namespace std;

int _Finder(LPCTSTR pstr)

{

CFileFind finder ;

vector<CString> svec;

CString strWildcard(pstr) ;

strWildcard += _T("\\*.*") ;

BOOL bWorking = finder.FindFile( strWildcard ) ;

int i = 0 ;

while(bWorking)//如果还有文件存在就执行下面的

{

bWorking = finder.FindNextFile() ;

if ( finder.IsDots() ) //如果是. 或者.. 就continue

{

bWorking = finder.FindNextFile() ;

continue ;

}

//一般文件及文件夹

BOOL bisDir = finder.IsDirectory() ;

if( bisDir )

{ //是文件夹

CString repath = finder.GetFilePath() ;

wchar_t* sz=(wchar_t *)repath.GetBuffer(repath.GetLength());

wcout << sz <<endl;

}

else

{//是文件

//输出文件路径

CString repath = finder.GetFilePath() ; //eg return c:\myhtml\myfile.txt

wchar_t* sz=(wchar_t *)repath.GetBuffer(repath.GetLength());

wcout << sz <<endl;

//输出文件名

CString filename = finder.GetFileName();

wchar_t* fn = (wchar_t *)filename.GetBuffer(filename.GetLength());

wcout << fn <<endl;



}



}//end while

finder.Close() ;

return 1 ;

}

#include <string>

int main()

{

CString filePath("D:\\train\\");

_Finder(filePath);

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: