“这是代码。'是什么意思。 “opendir('。')”内部是否指定到当前目录?
#include <stdio.h>
#include <dirent.h>
int main(void)
{
struct dirent *de; // Pointer for directory entry
// opendir() returns a pointer of DIR type.
DIR *dr = opendir(".");
if (dr == NULL) // opendir returns NULL if couldn't open directory
{
printf("Could not open current directory" );
return 0;
}
while ((de = readdir(dr)) != NULL)
printf("%s\n", de->d_name);
closedir(dr);
return 0;
}
最佳答案
这实际上与编程无关,但与操作系统有关。
在大多数操作系统上,文件系统具有父目录和当前目录的概念。
父目录通常使用..
表示法,而当前目录使用.
表示法。
因此,opendir(".")
要做的是打开当前目录。
并且如注释中所述,“当前”目录不必是可执行程序所在的目录。这是该过程的当前working directory,可能有所不同。这取决于程序的启动方式和启动位置,以及程序是否更改了自己的工作目录(问题中的程序未更改)。
关于c - '.'在c中代表opendir的参数是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59983516/