C++目录中的文件

qwe*_*qwe 14 c++ windows directory file

如何在Windows上使用C++获取给定目录中的所有文件?

注意:
我找到了使用的方法,dirent.h但我需要更标准的方法......

谢谢

cas*_*nca 30

使用FindFirstFile和相关函数.例:

HANDLE hFind;
WIN32_FIND_DATA data;

hFind = FindFirstFile("c:\\*.*", &data);
if (hFind != INVALID_HANDLE_VALUE) {
  do {
    printf("%s\n", data.cFileName);
  } while (FindNextFile(hFind, &data));
  FindClose(hFind);
}
Run Code Online (Sandbox Code Playgroud)

  • @Philipp:现在更有意义,但如果你说"8位API",它很难被解释为"非UNICODE API".在我看来,它不值得-1,因为没有必要为添加TEXT()宏和_txxx函数的示例增加复杂性. (7认同)

dom*_*ine 10

升级库怎么样:文件系统. Boost.org

  • 升力为+1.您可能希望链接到文件系统文档:http://www.boost.org/doc/libs/1_43_0/libs/filesystem/doc/index.htm (4认同)

lor*_*ova 5

您必须使用该FindFirstFile功能(此处记录).这是Windows中的标准(和首选)方式,但它不可移植.dirent.h您找到的标题包含标准POSIX函数的定义.

有关完整代码,请查看此示例:列出目录中的文件