如何从C++文件夹中获取文件名

Nef*_*zen 2 c++ file

假设我想写ls或dir.如何获取给定目录中的文件列表?相当于.NET的Directory.GetFiles和其他信息.

不确定字符串语法,但是:

string[] filePaths = Directory.GetFiles(@"c:\MyDir\");
Run Code Online (Sandbox Code Playgroud)

Tod*_*ner 23

查看boost :: filesystem,这是一个可移植且出色的库.

编辑:来自库的示例:

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;
}
Run Code Online (Sandbox Code Playgroud)