当前位置: 首页 > news >正文

列出一个目录中所有文件的名字

操作系统 : Windows 11

(1)使用Qt实现

    QDir dir("E:\\test");
    qDebug()<<__FILE__<<"["<<__LINE__<<"]"<<dir.entryList(QDir::Files);
    qDebug()<<__FILE__<<"["<<__LINE__<<"]"<<dir.entryList();

 确实封装的好

(2)直接调用更原生的api

我让腾讯元宝帮我生成了一下代码

​使用 Windows API (FindFirstFile 和 FindNextFile)​

这是 Windows 平台的原生方法

#include <iostream>
#include <windows.h>
#include <tchar.h>

void ListFiles(const std::wstring& directory) {
    WIN32_FIND_DATA findData;
    HANDLE hFind = FindFirstFile((directory + L"\\*").c_str(), &findData);

    if (hFind == INVALID_HANDLE_VALUE) {
        std::wcerr << L"找不到目录: " << directory << std::endl;
        return;
    }

    do {
        if (!(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
            std::wcout << findData.cFileName << std::endl;
        }
    } while (FindNextFile(hFind, &findData));

    FindClose(hFind);
}

int main() {
    ListFiles(L"E:\\test");
    return 0;
}

 

说明​​:

  • FindFirstFile 初始化搜索,FindNextFile 继续搜索,FindClose 关闭句柄。
  • 路径末尾需加 * 或 *.* 以匹配所有文件。

相关文章:

  • 【问题记录】记录2个安装Centos/Anolis系统卡死在安装包阶段的问题?(硬盘分区?换设备)
  • RCE之无字母数字RCE
  • SLAM(七)-卡尔曼滤波
  • Servlet、HTTP与Spring Boot Web全面解析与整合指南
  • C++语言程序设计——01 C++程序基本结构
  • Node.js种cluster模块详解
  • IKBC F108 白色背光普通版说明书
  • 前端工程化之新晋打包工具
  • MySQL:InnoDB
  • 埃隆·马斯克如何通过开源创新塑造未来
  • 基于TCP Socket 实现心跳机制
  • 【AI提示词】API开发专家
  • Python operator 模块介绍
  • 关于 Java 预先编译(AOT)技术的详细说明,涵盖 GraalVM 的配置、Spring Boot 3.x 的集成、使用示例及优缺点对比
  • (二十)安卓开发中的事件监听(Listener)的使用方法梳理
  • 【全队项目】智能学术海报生成系统PosterGenius--多智能体辩论
  • 高精地图地图匹配定位算法(二)
  • 如何绕过WAF实现SQL注入攻击?​
  • [Windows] 字体渲染 mactype v2025.4.11
  • 2 VS Code 配置指南:C 语言开发环境搭建(含 MinGW-w64 编译器及关键扩展)
  • 专业网站运营托管/seo业务培训
  • 网站建设数据库系统/郑州粒米seo顾问
  • 制作动态网站用什么软件/2024年重大政治时事汇总
  • 美术馆网站网页设计方案/如何免费注册一个网站
  • 临沂网站开发公司电话/被代运营骗了去哪投诉
  • 自助建站网站建设/网络推广策划书