2 qq 33179648 qq_33179648 于 2016.04.01 12:48 提问

C++读取某目录下含有特定名称的文件
c++

读取某目录下特定的文件,例如有“abc.txt”和“ab.txt”两个文件,怎么做到只读取后者?用findfirst,findnext函数能实现吗

3个回答

CSDNXIAOD
CSDNXIAOD   2016.04.01 12:52

获取目录中所有含有特定后缀名的文件
查找特定目录下的文件
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

qq423399099
qq423399099   Ds   Rxr 2016.04.01 13:11

这个是VS下的,感觉只能查找出来以后比较文件名字然后排除掉abc.txt
在linux操作系统下,编译器用findfirst(),而不是_findfirst().
linux操作系统下的查找文件的操作,需要包含dirent.h头文件

 #include <stdio.h>
 #include<iostream>
#include<io.h>
using namespace std;
int main()
{
    long Handle;
    struct _finddata_t FileInfo;
    if((Handle=_findfirst("F:\\*.txt",&FileInfo))==-1L)
        printf("没有找到匹配的项目\n");
    else
    {
        if(strcmp(FileInfo.name, "ab.txt") == 0)
        {
            printf("%s\n", FileInfo.name);
        }
        while(_findnext(Handle,&FileInfo)==0)//成功返回0,失败返回-1
        {
            if(strcmp(FileInfo.name, "ab.txt") == 0)
            {
                printf("%s\n", FileInfo.name);
            }
        }
        _findclose(Handle);
    }
    system("pause");
    return 0;
}

图片说明

VisualEleven
VisualEleven   Ds   Rxr 2016.04.01 17:26

FindFirstFile/FileNextFile()得到以后自己判断一下文件名称不就行了~

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!