首页 > 后端开发 > C++ > 跨平台C/C程序如何获取执行目录?

跨平台C/C程序如何获取执行目录?

DDD
发布: 2024-12-21 02:48:12
原创
717 人浏览过

How Can I Get the Execution Directory in a Cross-Platform C/C   Program?

跨平台环境下如何确定执行目录

在编程领域,确定程序的执行目录是一项至关重要但依赖于平台和文件系统的任务。 C 和 C 开发人员经常寻求超越这些依赖关系的通用解决方案。

虽然可能没有完全与平台无关的方法,但这里有针对 Windows 和 C 语言的定制解决方案Linux:

Windows:

#include <windows.h>

int main() {
    char pBuf[256];
    size_t len = sizeof(pBuf);
    int bytes = GetModuleFileName(NULL, pBuf, len);
    printf("Execution directory: %s", pBuf);
    return 0;
}
登录后复制

Linux:

#include <unistd.h>
#include <string.h>

int main() {
    char pBuf[256];
    size_t len = sizeof(pBuf);
    int bytes = MIN(readlink("/proc/self/exe", pBuf, len), len - 1);
    if (bytes >= 0)
        pBuf[bytes] = '';
    printf("Execution directory: %s", pBuf);
    return 0;
}
登录后复制

以上是跨平台C/C程序如何获取执行目录?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板