温馨提示×

C++怎么用findfirst和findnext查找文件

c++
小亿
89
2024-01-19 10:04:21
栏目: 编程语言

在C++中,可以使用findfirst和findnext函数来查找文件。

首先,需要包含头文件<dirent.h>。

然后,可以使用findfirst函数来查找第一个匹配的文件,语法如下:

int findfirst(const char* dirname, struct _finddata_t* fileinfo);

其中,dirname是要搜索的目录名,fileinfo是存放文件信息的结构体。

例如,要在当前目录下搜索所有的txt文件,可以使用如下代码:

#include <iostream>
#include <io.h>

int main() {
    const char* dirname = ".\\";
    struct _finddata_t fileinfo;
    int handle = _findfirst("*.txt", &fileinfo);
    if (handle != -1) {
        std::cout << "Found file: " << fileinfo.name << std::endl;
        while (_findnext(handle, &fileinfo) == 0) {
            std::cout << "Found file: " << fileinfo.name << std::endl;
        }
        _findclose(handle);
    }
    else {
        std::cout << "No file found." << std::endl;
    }
    return 0;
}

在上述代码中,".\“代表当前目录,”*.txt"代表要搜索的文件名匹配模式,例如所有的txt文件。在找到第一个匹配的文件后,使用while循环来查找剩余的匹配文件。

需要注意的是,_findfirst和_findnext函数返回的是一个句柄(handle),在使用完后需要调用_findclose函数来关闭这个句柄。

以上就是使用findfirst和findnext函数在C++中查找文件的方法。

0