chunkAnalyse:C++下读取指定文件下的指定文件或文件

翻译 2015年07月10日 23:00:55

用C++读取指定文件夹下的所有文件或文件夹信息



用FindFirstFile 和 FindNextFile 查找目标文件

包含的头文件:Windows.h(usually if you want to take operation on system by system function you should include this header file)

语法:HANDLE FindFirstFile(In LPCWSTR fileName,Out LPWIN32_FIND_DATA pfindFileData)
LPCWSTR  是重定义的类似于字符串指针的数据类型;
LPWIN32_FIND_DATA 是重定义的WIN32_FIND_DATA指针数据类型,一般使用&对WIN32_FIND_DATA 对象取址作为输入

输入:
fileName: 指定目标文件的地址和文件名,可用通配符
pfindFileData:指定记录文件信息的结构体的内存地址,FindFirstFile 将文件信息记录在以pfindFileData开始的地址中。
输出:
HANDLE fHandle: 查找句柄,用于 FindNextFile and FindClose 函数。

取文件名:
findFileData.cFileName: cFileName 是结构体对象findFileData的成员,存储的是文件的名字

示例代码:
#include  // 定义了WIN32_FIND_DATA,HANDLE等数据类型;FindFirstFile,FindNextFile等windows 系统函数
#include 
#include  

typedef std::string String;
typedef std::vector fileVec;

void searchFile(fileVec& fileNameVec)
{
	WIN32_FIND_DATA findFileData; //  WIN32_FIND_DATA 为结构体类型,findFileData用于存储目标文件的信息(文件名,文件类型,大小等)
	HANDLE fHandle; // 句柄,用于FindNextFile和FindClose
	String  fileName = "D:/chunkAnalyse/Data/*.txt";// 目标文件位置和名字,可以使用通配符

	fHandle = FindFirstFile((LPCWSTR)fileName.c_str(), &findFileData); // 查找满足fileName要求的第一个文件,此时findFileData记录该文件的信息
	fileNameVec.push_back(findFileData.cFileName); // 将第一个文件的名字存入vector容器中
	while (FindNextFile(fHandle, &findFileData) != 0)
	{
		fileNameVec.push_back(findFileData.cFileName);
	}
	FindClose(fHandle);
}


总结:
当操作对象是系统资源的时候,一般而言我们都需要使用系统的接口函数,要调用window系统的接口我们通常都需要#include <Windows.h>, 在 Windows.h以及他所链接到的头文件中定义了Windows的所有资料型态、函数调用资料结构和常数识别字, 如:
WINDEF.H 基本数据类型定义。
WINNT.H 支持Unicode的类型定义。
WINBASE.H Kernel(内核)函数。
WINUSER.H 用户界面函数。
WINGDI.H 图形设备接口函数。
for example,使用Windows接口我们可以读取系统时间。

vs2013 官网帮助


相关文章推荐

c++判断硬盘是否连接、修改指定盘符、读取配置文件、获取exe路径

系统:win7 64 编译器:vs2010 mfc对话框程序。 工程名:fixde 语言:c++ 涉及函数: GetPrivateProfileString 读取配置文件内容,类型为str...

C++ Opencv 读取指定路径中的文件(图片)

void getAllFiles( string path, vector& files) { //文件句柄 long hFile = 0; //文件信息 struct _finddata_t fil...

从文件夹中读取子文件夹内带有指定后缀如.bmp文件的C++实现,并读取子文件夹后缀数字

void face::read_img_yalefacesA() { GetFileList( img_folder,"AllDir",".bmp","outyalefacesA.txt",img_...

c++ 解压zip文件到指定文件夹

  • 2017年10月27日 10:37
  • 82KB
  • 下载

linux下C/C++编译时系统搜索 include 和 链接库 文件路径的指定

C/C++程序在linux下被编译和连接时,GCC/G++会查找系统默认的include和link的路径,以及自己在编译命令中指定的路径。自己指定的路径就不说了,这里说明一下系统自动搜索的路径。 ...

C++ 将指定文件夹下的所有文件拷贝到另一文件夹下

跟前面文章一样,在对.zip格式的mysql安装包解压之后,我需要将解压出来的文件拷贝到指定的安装目录。我在下载的时候给定的路径为如:D:\mywww\server\temp\mysql-5.5.19...

C++ 获得指定目录下的所有文件名称

最近工作用到,记录一下。 参考出处:http://qiaoxinwang.blog.163.com/blog/static/86096452010612139172/ 先上一下代码: void ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:chunkAnalyse:C++下读取指定文件下的指定文件或文件
举报原因:
原因补充:

(最多只允许输入30个字)