如何获取给定目录中的所有文件名

时间:2009-11-12 13:25:40

标签: visual-studio-2008 visual-c++ mfc

我想获取给定路径中的文件名是否有任何api可用。我的编程环境是vc ++ mfc

4 个答案:

答案 0 :(得分:3)

您应该查看FindFirstFileFindNextFile或MFC的包装器CFileFind

答案 1 :(得分:2)

Boost有一个很棒的平台独立filesystem library。它可以与MFC一起使用。

以下是their reference的示例:

#include <iostream>
#include <filesystem>

using std::tr2::sys;
using std::cout;

int main(int argc, char* argv[])
{
  std::string p(argc <= 1 ? "." : argv[1]);

  if (is_directory(p))
  {
    for (directory_iterator itr(p); itr!=directory_iterator(); ++itr)
    {
      cout << itr->path().filename() << ' '; // display filename only
      if (is_regular_file(itr->status())) cout << " [" << file_size(itr->path()) << ']';
      cout << '\n';
    }
  }
  else cout << (exists(p) ? "Found: " : "Not found: ") << p << '\n';

  return 0;
}

答案 2 :(得分:1)

您也可以使用MFC:CFileFind

答案 3 :(得分:0)

还有CListBox::Dir。如果要填充带有文件名的列表框,这将非常方便。