博客專欄

EEPW首頁(yè) > 博客 > Linux C 獲取當(dāng)前應(yīng)用程序的絕對(duì)路徑

Linux C 獲取當(dāng)前應(yīng)用程序的絕對(duì)路徑

發(fā)布人:電子禪石 時(shí)間:2020-09-14 來(lái)源:工程師 發(fā)布文章

Linux C 獲取當(dāng)前應(yīng)用程序的絕對(duì)路徑



1. 使用getcwd()獲取的是當(dāng)前工作路徑,而不一定是程序的路徑

#include <stdio.h>#include <stdlib.h>#include <unistd.h>#define MAXBUFSIZE 1024int main ( int argc, char * argv[] ){	char buf[ MAXBUFSIZE ];	getcwd(buf, MAXBUFSIZE);	printf("\n");	printf(buf);	printf("\n");	return 0;}


2. 下面這個(gè)是一個(gè) x86_64 GNU/Linux Kernel 3.2.0-67-generic 系統(tǒng)中利用proc獲取絕對(duì)路徑的例子


    利用 readlink()

#include <stdio.h>#include <stdlib.h>#include <unistd.h>#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 );}







*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。

交換機(jī)相關(guān)文章:交換機(jī)工作原理




關(guān)鍵詞:

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉