1、获取当前程序的绝对路径
/proc/self/exe是一个符号链接,代表当前程序的绝对路径
用readlink读取/proc/self/exe可以获取当前程序的绝对路径
2、从字符串中获取目录
char dirname(char path);
3、改变当前工作目录
int chdir(const char *path );
4、完整示例
#include <unistd.h>
#include <linux/limits.h>
#include <libgen.h>
void changeWorkDir()
{
char exePath[PATH_MAX];
memset(exePath, 0, sizeof(exePath));
readlink("/proc/self/exe", exePath, sizeof(exePath));
char *exeDir = dirname(exePath);
chdir(exeDir);
}
int main()
{
changeWorkDir();
return 0;
}