gpt4 book ai didi

C编程open()调用路径

转载 作者:太空宇宙 更新时间:2023-11-04 02:17:32 26 4
gpt4 key购买 nike

在 Linux (Ubuntu) 上,关于文件路径的 C open() 系统调用有一个小问题。

如果我输入绝对路径,即 open("/home/bob/Desktop/folder/file", O_RDONLY);打开很好

但是如果我在另一台计算机上运行我的程序,文件路径将不正确,即用户名可能不是 bob

所以,当我尝试 open("./Desktop/folder/file", O_RDONLY);文件打不开,这是正确的方法吗?我知道 (~/) 行不通,但不确定 (./) 为何行不通?

有什么建议吗?

谢谢,

最佳答案

您必须使用 getenv("HOME") 获取您的主目录的绝对路径名,然后构造路径名的其余部分(相对部分)。

另请注意,在用户主目录下使用固定文件名是非常粗鲁的做法,隐藏文件/目录(以点开头的文件/目录除外)除外。

关于C编程open()调用路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5328785/

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