gpt4 book ai didi

java - C,打开相对于可执行文件路径的文件?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:27:38 26 4
gpt4 key购买 nike

我想修复一个使用相对路径加载数据文件的旧 C 程序(已获取源代码),期望从放置它的目录调用可执行文件,例如 LoadEx("./dataFile", dataFile); 当然,由于 dataFile 无法加载,从另一个目录调用程序会失败。

如何修改 C 程序以加载相对于可执行文件目录的 dataFiles

编辑:我原来的问题变得不适用,因此至少是重复的: - How do I find the location of the executable in C? - How to open a file with it's relative path in Linux? - Finding current executable's path without /proc/self/exe

最佳答案

你为什么不想要 readlink("/proc/self/exe")?这是在 Linux 上查找可执行文件路径的方法。

唯一的其他方法是使用 getenv() 从环境中提取 PATH,然后遍历 PATH 目录以寻找 argv[0] 的匹配项。第一个选项要容易得多。

或者在首先对可执行文件执行 which 并将结果作为命令行参数或类似 hack 传递后,编写脚本来启动程序。

关于java - C,打开相对于可执行文件路径的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9138499/

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