【问题标题】:opendir() in C ProgrammingC 编程中的 opendir()
【发布时间】:2015-02-27 22:51:13
【问题描述】:

我是初学者,正在编写有关获取文件目录的代码,但我有一些我不明白的地方。

DS = opendir ("./");中的“./”是什么意思

我搜索了很多关于 C 编程的网站,但没有一个很好的解释。我必须尽快展示我的代码,迫使我解释我的代码的每一行。请帮我。谢谢!

【问题讨论】:

标签: c directory opendir dirent.h


【解决方案1】:

./ 是相对于您的进程的current working directory 的相对路径。

在计算中,进程的工作目录是分层文件系统的目录,如果有的话,它与每个进程动态关联。当进程使用简单文件名或相对路径(而不是由根目录的完整路径指定的文件)引用文件时,该引用被解释为相对于进程的当前工作目录。

所以假设你的进程的工作目录是/foo,当你用opendir打开./时,你实际上打开的是/foo/./,它等于/foo

【讨论】:

  • 你能用更简单的方式解释一下吗?我仍然是编程的初学者。我知道DS = opendir ("./"); 将打开我的代码所在文件夹中包含的所有文件。我不明白的我将如何向像我这样的初学者程序员解释并让他们也理解。
  • 这不会打开所有文件。它将打开目录。就像您可以从打开的文件中读取数据一样,您也可以从打开的目录中读取数据。这会产生该目录中的文件列表。
  • opendir 仅打开该目录,而不是其中的文件,如先前评论中所回答的那样。另外如果你想get the directory of a file,你必须首先知道文件在哪里,而不是绝对路径或相对路径。
  • 哇,谢谢!但是像DS = opendir ("."); 这样的东西怎么样?它会做什么?
  • opendir(".")opendir("./") 相同,请查看 opendir 的手册页以了解其作用。
猜你喜欢
  • 2011-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多