gpt4 book ai didi

c++ - 为什么 chdir ("~/dev/") 返回 -1?

转载 作者:太空狗 更新时间:2023-10-29 20:00:39 24 4
gpt4 key购买 nike

在我的 C++ 应用程序中,我想将工作目录更改为指定目录。但是,当我将 "~/dev/" 指定为工作目录时,chdir() 失败并返回 -1。相反,当我指定 "/home/myusername/dev" 时它会起作用。为什么会这样?我该如何解决这个问题(除了检查字符串第一个字符是否为 ~ 并将其替换为 /home/myusername 之外)?

最佳答案

波浪号 (~) 到 HOME 环境变量的扩展是由 bash 完成的。该扩展在传递给 chdir 命令之前完成。底线是 ~ 由 bash 处理,而不是由 chdir 命令处理。所以你不能在 chdir() 函数调用中使用它。

为了找到 bash 完成的其他类型的扩展(以及 ~ 扩展的细节),检查 this link .

关于c++ - 为什么 chdir ("~/dev/") 返回 -1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5568979/

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