gpt4 book ai didi

给定名称的目录的 C++ 路径

转载 作者:行者123 更新时间:2023-11-30 03:30:43 28 4
gpt4 key购买 nike

我正在 Linux 中编写 C++ 程序,我需要更改当前目录。我有一个目录名称,我想更改它,我想使用 chdir()。但它的参数是一个路径(即包含目录位置的 char*)。而且我没有完整路径,只有目录名称。

我看过这个问题:Changing the current directory in Linux using C++

但是,我认为建议的解决方案仅在新目录是当前目录的子目录时才有效 - 否则,如果我的目录中可以有更多同名的不同目录,这对我来说没有意义电脑(请告诉我,如果我错了)。

我不确定我是否清楚,可以肯定的是,这是示例:

-CurrentDirectory
|
- Subdirectory
|
- ... etc.
- AnotherDirectory

在我看来,如果我想将当前目录更改为子目录,chdir(Subdirectory.c_str()) 会起作用。但不是 chdir(AnotherDirectory.str())(它与 CurrentDirectory 通常没有任何共同之处)。 我知道这个问题必须已经在某个地方得到回答,但我找不到它。

感谢您的宝贵时间!

最佳答案

您可以使用getcwd 获取当前目录的绝对路径名。

#include <unistd.h>

char * getcwd(char *buf, size_t bufsize);

要切换到另一个目录,您需要知道另一个目录的绝对路径或其相对路径,例如 ../someotherdirectory

关于给定名称的目录的 C++ 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44803297/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com