首页 > 代码库 > 访问指定路径下的目录以及文件
访问指定路径下的目录以及文件
#include "stdafx.h"//vs2010下运行通过#undef UNICODE#include <stdio.h>#include <stdlib.h>#include <Windows.h>#include <iostream>using namespace std;void browseFile(char* path){ char pattern[FILENAME_MAX + 1]; sprintf(pattern, "%s\\*.*", path); char fdPath[FILENAME_MAX + 1];//file or document path WIN32_FIND_DATA findFileData; HANDLE hFindFile = FindFirstFile(pattern, &findFileData); if (hFindFile != INVALID_HANDLE_VALUE) { do { if (strcmp(findFileData.cFileName, ".") == 0 || strcmp(findFileData.cFileName, "..") == 0) { continue; } sprintf(fdPath, "%s\\%s", path, findFileData.cFileName); if (findFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { cout<<fdPath<<endl;//对目录做一些操作 browseFile(fdPath);//访问目录下面的内容 } else { cout<<"\t"<<findFileData.cFileName<<endl;//对文件做一些操作 } } while (FindNextFile(hFindFile, &findFileData)); } FindClose(hFindFile);}int _tmain(int argc, _TCHAR* argv[]){ browseFile("C:\\Users\\ydu1\\Desktop\\ffff"); return 0;}
注意:
要去掉UNICODE宏定义,否则会出现FindFirstFileW”: 不能将参数 1 从“char [261]”转换为“LPCWSTR,参考http://bbs.csdn.net/topics/120047056
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。