【问题标题】:C Programming: How can I get parent directory?C 编程:如何获取父目录?
【发布时间】:2014-07-25 20:47:29
【问题描述】:

在我的pathto.c我想打开父目录

static void list_dir (const char * dir_name)
{
    DIR * d;
    struct dirent *e;
    
    d = opendir ("dir_name/..");


    if (d == NULL) {
        printf("Cannot open dircetory");
    }
}

但我得到“无法打开目录”

如何调用opendir打开父目录?

【问题讨论】:

  • 您将一个名为dir_name 的参数传递给您的函数,但您没有使用它。相反,您正在寻找一个名称为dir_name 的目录。那是你要的吗?还是要查找list_dir() 的调用者传入的任何内容的父目录?
  • @GregHewgill,我想要传入的任何 list_dir() 的父目录。谢谢。

标签: c directory


【解决方案1】:

在调用opendir() 之前,您可能需要将/.. 附加到list_dir 的值。例如,您可以这样做:

char parent[200];
snprintf(parent, sizeof(parent), "%s/..", dir_name);
d = opendir(parent);

【讨论】:

    猜你喜欢
    • 2011-01-10
    • 2014-07-26
    • 1970-01-01
    • 1970-01-01
    • 2011-02-18
    • 2011-08-08
    • 1970-01-01
    • 2014-07-27
    • 1970-01-01
    相关资源
    最近更新 更多