_findfirst和_findnext

1、首先是_finddata结构体,用于存储文件信息的结构体。

2、_findfirst函数:long _findfirst(const char *, struct _finddata_t *);

第一个参数为文件名,第二个参数为_finddata结构体指针,若成功,则返回文件的句柄。

3、_findnext函数:int _findnext(long, struct _finddata_t *);

第一个参数为文件句柄,表示读下一个。

4、_findclose()函数:int _findclose(long);

将该文件句柄关闭

以下为一个小例子

void getFiles(string path, vector<string>& files)
{
    long hFile = 0;
    struct _finddata_t fileinfo;//存储文件信息的结构体
    string p;
    //c_str将string转为C下的字符,hFile得到的是文件句柄
    if ((hFile = _findfirst(p.assign(path).append("\\*.jpg").c_str(), &fileinfo)) != -1)
    {
        do
        {
            files.push_back(p.assign(path).append("\\").append(fileinfo.name));

        } while (_findnext(hFile, &fileinfo) == 0);
        _findclose(hFile);
    }
}

参考:http://blog.sina.com.cn/s/blog_53988e5a0101dvlf.html

http://blog.csdn.net/samylee/article/details/53467668

时间: 2024-07-29 21:35:39

_findfirst和_findnext的相关文章

Android RakNet 系列之二 功能介绍

简介 RakNet 已经成功地在Android平台上测试成功.RakNet的文档很多,实现起来很简单,下面对Raknet功能细节进行详细了解. 详情 1.RakNet使用哪些数据结构? 结构文件 描述 DS_BinarySearchTree.h 二叉搜索树,以及AVL平衡二叉搜索树 DS_BPlusTree.h B+树,用于快速查询,删除,和插入 DS_BytePool.h 返回某个大小门限的数据块,减少内存碎片 DS_ByteQueue.h 用于读写字节的队列 DS_Heap.h 堆数据结构体

个人作业——词频统计

本次编程项目的主题为英文单词词频统计,主要分为下面四个小项目: 1.统计已存在的文档中的英文单词词频统计,并降序输出: 2.用户输入文件名,程序对其中的内容进行词频统计并降序输出: 3.用户输入指定文件夹的路径,程序遍历路径下的所有文件,并分别对其中的内容进行词频统计,降序输出前10个单词的词频: 4.用户在控制台按照要求输入文本内容,并将输入的内容存入指定文本中,程序对输入的内容进行词频统计并降序输出. 我在本科学期间进行过C/C++的学习,所以本次作业使用的语言为C++,使用codebloc

C++小程序(1)——文件整理工具

网上下载的漫画是jpg或png之类的图片文件,用系统自带的图片管理器看不方便,想要能把图片想网页一样浏览的功能,找了很多图片管理器也没有带这个功能,于是就自己编写了一个小程序实现. 思想就是在图片目录添加一个html文件,里面包含所有漫画图片,就可以使用浏览器观看,效果比在电脑上直接打开浏览好多了. 主要实现两个步骤:(1)获取该目录下的所有图片的文件名,把它们保存到一个vector里面备用.(2)生成对应的html文件. 第二步比较简单,只需要一些很简单的的html语句: <body> &l

C++ 获取文件夹下的所有文件名

获取文件夹下所有的文件名是常用的功能,今天再一次有这样的需求,所有就在网上查找了很多,并记下以供后用. 原文:http://blog.csdn.NET/cxf7394373/article/details/7195661 原文:http://qiaoxinwang.blog.163.com/blog/static/86096452010612139172/ 头文件:#include<io.h> 1 char * filePath = "D:\\sample"; 1 vect

C++实现从一个文件夹中读出所有txt文件

前段时间做项目需要读取一个文件夹里面所有的txt文件,查询资料后得到以下实现方法:首先了解一下这个结构体struct _finddata_t {    unsigned    attrib;    time_t      time_create;       time_t      time_access;       time_t      time_write;    _fsize_t    size;    char        name[260];};其中各成员变量的含义如下:unsi

个人项目开发PSP实践-MyWCprj

MyWCprj.exe Github仓库地址 1. What is MyWCprj.exe? wc是linux下一个非常好用的代码统计小工具,可以通过 -c .-w .-l等选项分别进行对指定文件的代码字符数.词组数.行数统计. 应学校软件工程课程的PSP个人项目开发实践需要,特此尝试自己写一个用c++实现的wc(MyWCprj.exe). 该程序仅能确保统计.c .cpp .h文件代码数的正确性. 语法 MyWCprj.exe [parameter] [fileOrDir_name1] [fi

Word Count程序(C语言实现)

Word Count 程序 GitHub地址:https://github.com/MansonYe/Word-Count 一.项目简介 Word Count 是用以统计文本文件的字符数.单词数和行数的常用工具. 二.功能分析及实现情况 · 基本功能: 统计file.c的字符数(实现) 统计file.c的单词数(实现) 统计file.c的行数(实现) · 拓展功能: 递归处理目录下符合类型的文件(实现) 显示代码行.空行和注释行的行数(实现) 支持通配符(* , ?)(实现) · 高级功能: 支

20180918-1 词频统计

作业要求参见 https://edu.cnblogs.com/campus/nenu/2018fall/homework/2126 本次作业代码地址:https://coding.net/u/KamiForever/p/SPEC20180918/git/blob/master/wf.cpp. 一,重点分析和代码实现: 1.关于单词的输入,我才去每次都只选取一个字母,如果字母是大写英文字母就变成小写,不是字母就把之前的合并成一个单词(用一个before变量去判定前面的是一个字母,如果不是字母则跳过

C++获取文件夹中所有文件

获取文件夹中的文件,用到过很多次,每次用的时候都要去查下,很烦,所以想自己写下,当然,借鉴了很多其他大佬的博客 主要实现的函数,如下: 1 void getFiles( string path, vector<string>& files ) 2 { 3 //文件句柄 4 long hFile = 0; 5 //文件信息 6 struct _finddata_t fileinfo; 7 string p; 8 if((hFile = _findfirst(p.assign(path).