【问题标题】:How to access to a file in System directory C++? [closed]如何访问系统目录 C++ 中的文件? [关闭]
【发布时间】:2012-11-04 16:32:50
【问题描述】:

如何访问系统目录中的文件,知道主目录,它的扩展名。但不知道文件名和中间的节点(=子目录)?

【问题讨论】:

  • 这似乎是一个奇怪的要求,你想达到什么目的?
  • boost::filesystem 是一个选项吗?

标签: c++ directory


【解决方案1】:

如何查找目录的内容,从而找出该文件的名称,因操作系统而异。在 Linux 上,您将使用 diropen,在 Windows 上使用其他东西。但是,boost::filesystem 库允许您以独立于平台的方式执行此操作。

如果我没听错,您正在寻找文件“/System/foo/bar/baz.dat”,但您不知道“foo”、“bar”或“baz”是什么.在这种情况下,您将需要遍历“/System”下每个目录中的每个文件,直到找到具有所需扩展名的文件。

有关此类迭代的示例,请参阅this question 的最佳答案。

【讨论】:

  • 使用 windows,但是是的,这几乎就是以你的例子为例:“/System/foo/bar/baz.dat”我有 /System/foo 消失了总是保持不变..跨度>
【解决方案2】:

您可以从系统目录开始搜索具有该扩展名的所有文件。根据“系统目录”,我猜这是在 Windows 上,在这种情况下,您通常用于该搜索的函数将是 FindFirstFileFindNextFileFindClose。您也可以使用SetCurrentDirectory 遍历您的起点下的子目录。

根据您所说的(到目前为止),如果您找到多个具有该扩展名的文件,很难猜测您可能想要做什么。

【讨论】:

  • 这些文件是从系统“A”推送的,我应该对它们进行处理(已经完成),我必须根据它们到达系统“B”来找到它们。对不起,大概的英文写作..无论如何,这已经是一个很好的答案了。非常感谢!!!
猜你喜欢
  • 1970-01-01
  • 2019-05-29
  • 2011-11-24
  • 1970-01-01
  • 2019-05-10
  • 2012-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多