C++:我需要目录导航方面的帮助
所以,我希望能够 chdir 进入目录(如果存在),如果不创建目录。如果我已经在目录中,则不需要执行任何操作。
例如
if (cur_dir == "dir_name")
// do stuff
else if ("dir_name" not exist?)
mkdir "dir_name"
chdir "dir_name"
else
chdir "dir_name"
,我一直在谷歌搜索,到目前为止我已经想出了这个:
if (chdir(Config::CONFIG_FOLDER_NAME) == 0)
{
std::cout << "Network Config Directory not found...\n";
std::cout << "Creating folder called " << Config::CONFIG_FOLDER_NAME << "\n";
mkdir(Config::CONFIG_FOLDER_NAME, 0777);
}
我还没有找到一种方法来检查当前目录是什么..(不是完整路径,这是我找到的。)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您有 Boost,则可以使用 Boost.Filesystem :
顺便说一句,如果您只是计划读取配置文件,则不需要更改工作目录。直接读取即可,使用绝对路径。在 Boost.Filesystem 中,您可以这样做:
If you have Boost, you can use Boost.Filesystem:
By the way, if you're just planning to read a config file, you shouldn't need to change the working directory. Just read directly, using an absolute path. In Boost.Filesystem, you'd do that this way:
如果您有完整路径,则只需解析它并查看最后一段(最后一个“/”之后的部分)。
If you have the full path, then just parse it and look at the last segment (the part after the last "/").
我认为 getcwd() 正是您所需要的。
I think getcwd() is what you need.