我正在尝试编写一个程序,它可以自动打开并读取文件。但问题是文件存储在名称未知的文件夹中。我只知道文件夹的位置和文件的名称。如何在 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/