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

原创 2016年08月31日 14:32:40

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

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#define MAXBUFSIZE 1024
int 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 <stdio.h>
#include <stdlib.h>
#include <unistd.h>

#define MAXBUFSIZE 1024

int 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 );
}














Linux C 获取当前进程可执行文件路径

参考: http://www.apihome.cn/api/linux/readlink.html
  • yasi_xi
  • yasi_xi
  • 2014年07月22日 12:55
  • 2768

linux下C程序获取绝对路径各种方法分析

昨天肚腩群里有人问LINUX下C如何获取程序绝对路径。初看这问题,肚腩觉得很简单啊,就用getcwd或者argv[0]就可以了。写了个程序试试, #include int main(int ...
  • ljx0305
  • ljx0305
  • 2013年06月22日 21:10
  • 16744

Linux下获取程序绝对路径(全路径)的方法

Linux下获取程序绝对路径(全路径)的方法 直接上源代码: /** * NAME: getAbsopath * DESC: 获取程序的绝对路径 * REMK: Absopath - Absolute...
  • iw1210
  • iw1210
  • 2017年01月04日 16:21
  • 589

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

/* 使用getcwd()获取的是当前工作路径,而不一定是程序的路径 */ #include #include #include #define MAXBUFSIZE 1024 int...
  • aile770339804
  • aile770339804
  • 2012年04月11日 00:46
  • 8303

linux下C程序获取绝对路径各种方法分析

昨天肚腩群里有人问LINUX下C如何获取程序绝对路径。初看这问题,肚腩觉得很简单啊,就用getcwd或者argv[0]就可以了。写了个程序试试, #include int main(int ...
  • ljx0305
  • ljx0305
  • 2013年06月22日 21:10
  • 16744

C++中相对路径与绝对路径 文件路径

C++中相对路径与绝对路径以及斜杠与反斜杠的区别 文件路径  正斜杠和反斜杠  正斜杠,又称左斜杠,符号是"/";反斜杠,也称右斜杠,符号是"\"。文件路径的表示可以分为绝对路径和相对路径...
  • qq_32541007
  • qq_32541007
  • 2016年03月28日 00:30
  • 5480

相对路径,绝对路径,当前路径,程序目录

绝对路径:是从盘符开始的路径,形如 C:\windows\system32\cmd.exe 相对路径:是从当前路径开始的路径,假如当前路径为C:\windows 要描述上述路径,只需输入 system...
  • iamherego
  • iamherego
  • 2015年06月19日 14:36
  • 2379

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

昨天肚腩群里有人问LINUX下C如何获取程序绝对路径。初看这问题,肚腩觉得很简单啊,就用getcwd或者argv[0]就可以了。写了个程序试试, #include int main(int ...
  • yuanya
  • yuanya
  • 2014年06月08日 13:29
  • 687

C#、ASP.NET获取当前应用程序的绝对路径,获取程序工作路径

使用 Application.StartupPath 至于 System.IO.Directory.GetCurrentDirectory不行,因为应用程序有个当前工作目录,这个工作目录是...
  • sptoor
  • sptoor
  • 2013年05月10日 20:52
  • 899

linux下获取程序当前目录绝对路径

在linux下运行的程序经常需要获取自己的绝对路径,程序可能需要引用外部的资源文件,比如在../skin/目录下的图片,这样普通程序是没有问题,但当程序在安装到/usr/bin/目录中,或者为程序建立...
  • lanmolei814
  • lanmolei814
  • 2014年05月04日 15:58
  • 855
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux C 获取当前应用程序的绝对路径
举报原因:
原因补充:

(最多只允许输入30个字)