达尔文OP2官方demo解读(一)

来源:互联网 发布:cs软件界面设计工具 编辑:程序博客网 时间:2024/05/25 23:59
void change_current_dir(){    char exepath[1024] = {0};    if(readlink("/proc/self/exe", exepath, sizeof(exepath)) != -1)    {        if(chdir(dirname(exepath)))            fprintf(stderr, "chdir error!! \n");    }}

函数:void change_current_dir()

参数:无

功能:切换当前目录

#include <unistd.h>main(){    chdir("/tmp");    printf("current working directory: %s\n", getcwd(NULL, NULL));}
chdir()用来将当前的工作目录改变成以参数path 所指的目录.

运行结果:

#include <stdio.h>#include <unistd.h>char * get_exe_path( char * buf, int count){    int i;    int rslt = readlink("/proc/self/exe", buf, count - 1);    if (rslt < 0 || (rslt >= count - 1))    {        return NULL;    }    buf[rslt] = '\0';    for (i = rslt; i >= 0; i--)    {        printf("buf[%d] %c\n", i, buf[i]);        if (buf[i] == '/')        {            buf[i + 1] = '\0';            break;        }    }    return buf;}int main(int argc, char ** argv){    char path[1024];    printf("%s\n", get_exe_path(path, 1024));    return 0;}
readlink是linux系统中一个常用工具,主要用来找出符号链接所指向的位置。

运行结果:

终端运行结果:




原创粉丝点击