首页 >> 百科知识 > 百科精选 >

💻 C 获取当前程序所在路径的各种方法 🌟

2025-03-17 12:24:16 来源:网易 用户:熊爱希 

在 C 语言编程中,获取当前程序所在路径是一个常见的需求,无论是用于日志记录、配置文件读取还是其他场景。以下是几种实现方式:

首先,可以利用 `getcwd()` 函数来获取当前工作目录,但需要注意的是,它返回的是程序运行时的工作路径,而非可执行文件的实际路径。例如:

```c

include

include

int main() {

char buf[256];

if (getcwd(buf, sizeof(buf)) != NULL) {

printf("Current working dir: %s\n", buf);

} else {

perror("getcwd error");

}

return 0;

}

```

其次,通过 `/proc/self/exe` 文件可以更准确地定位程序路径。这种方法适用于 Linux 系统,能直接获取可执行文件的真实路径:

```c

include

include

include

int main() {

char buf[PATH_MAX];

ssize_t len = readlink("/proc/self/exe", buf, PATH_MAX);

if (len != -1) {

buf[len] = '\0';

printf("Program path: %s\n", buf);

} else {

perror("readlink error");

}

return 0;

}

```

最后,还可以结合命令行参数和环境变量(如 `argv[0]` 或 `PWD`)间接推导出路径,但这需要额外处理相对路径问题。

掌握这些方法,能让代码更加灵活和健壮!💡

  免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!

 
分享:
最新文章
版权与免责声明:
①凡本网注明"来源:驾联网"的所有作品,均由本网编辑搜集整理,并加入大量个人点评、观点、配图等内容,版权均属于驾联网,未经本网许可,禁止转载,违反者本网将追究相关法律责任。
②本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
③如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,我们将在您联系我们之后24小时内予以删除,否则视为放弃相关权利。