新闻| 论坛| 博客| 在线研讨会
Linux C 获取当前应用程序的绝对路径
电子禅石| 2020-09-14 14:02:13 阅读:1648 发布文章

Linux C 获取当前应用程序的绝对路径



1.使用getcwd()获取的是当前工作路径,而不一定是程序的路径

#include #include #include #define MAXBUFSIZE 1024int main ( int argc, char * argv[] ){ char buf[ MAXBUFSIZE ]; getcwd(buf, MAXBUFSIZE); printf("\n"); printf(buf); printf("\n"); return 0;}


2.下面这个是一个 x86_64 GNU/Linux Kernel 3.2.0-67-generic 系统中利用proc获取绝对路径的例子


利用 readlink()

#include #include #include #define MAXBUFSIZE 1024int main ( int argc, char * argv[] ){ char buf[ MAXBUFSIZE ]; int count; count = readlink( "/proc/self/exe", buf, MAXBUFSIZE ); if ( count < 0 || count >= MAXBUFSIZE ) { printf( "Failed\n" ); return( EXIT_FAILURE ); } buf[ count ] = '\0'; printf( "/proc/self/exe -> [%s]\n", buf ); return( EXIT_SUCCESS );}







*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
属于自己的技术积累分享,成为嵌入式系统研发高手。
推荐文章
最近访客