开发者社区> 问答> 正文

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

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

展开
收起
a123456678 2016-03-09 13:40:02 2487 0
1 条回答
写回答
取消 提交回答
  • 这个是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;
    }
    2019-07-17 18:55:57
    赞同 展开评论 打赏
问答分类:
C++
问答地址:
问答排行榜
最热
最新

相关电子书

更多
使用C++11开发PHP7扩展 立即下载
GPON Class C++ SFP O;T Transce 立即下载
GPON Class C++ SFP OLT Transce 立即下载