c++ - 使用c/c++打开随机命名文件夹中的文件

标签 c++ windows file

我正在尝试编写一个程序,它可以自动打开并读取文件。但问题是文件存储在名称未知的文件夹中。我只知道文件夹的位置和文件的名称。如何在 char* 中获取该文件的路径?

编辑:示例:d:\files\<random folder>\data.txt

我不知道随机文件夹的名称,但我知道它存在于 d:\files

最佳答案

因为它被标记为 windows,您不妨使用 Windows API 函数:

枚举并循环遍历给定目录中的所有文件。

要检查目录,请查看 WIN32_FIND_DATA 结构中包含的 dwFileAttributes(由调用 Find...File() 填充) >).但一定要跳过 ... 目录。如果需要,这可以递归完成。

您可以查看一些示例的链接,或查看 Listing the Files in a Directory .

如果您使用的是 MFC,则可以使用 CFileFind (它是 API 函数的包装器):

CFileFind finder;
BOOL bWorking = finder.FindFile(_T("*.*"));
while (bWorking)
{
   bWorking = finder.FindNextFile();
   TRACE(_T("%s\n"), (LPCTSTR)finder.GetFileName());
}

关于c++ - 使用c/c++打开随机命名文件夹中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34637150/

相关文章:

c++ - 单例中的数据库连接

c++ - 如何在黑色区域opencv(C++)中找到矩形

c++ - 什么是 __aeabi_unwind_cpp_pr1' 以及如何避免它?

python - 为什么我会收到 FileNotFoundError?

C++ 11 std::chrono 测量时间流逝

windows - MS Windows 自动化并记录从 Ctrl-Alt-Delete 屏幕到开始菜单所需的时间

windows - 无法使用 AutoHotkey 按住某个键

windows - 使用 PowerShell 自动安装 DummyNET 驱动程序

linux - 在 unix 上创建标记文件的最便宜的方法

java - 比较两个文本文件的最佳 Java 方法