您的位置:首页 > 其它

取得运行程序的绝对路径名

2008-04-19 23:25 232 查看
int main(int argc, char *argv)
{
char appPath[PATH_MAX];
char *cwd;

cwd = getcwd(NULL, NULL); //取得当前工作目录绝对路径名称
if (strlen(cwd) + strlen(argv[0]) + 1> PATH_MAX) //argv[0] 是当前运行的程序的相对路径名称(包括文件名称)
//检查完整路径长度是否超过分配的空间
{
printf("ERROR: APP PATH TOO LONG/n");
}
else
{
strcat(strcat(strcpy(appPath, cwd), "/"), argv[0]); //拼接成完整路径名称
printf("APP PATH: %s/n", appPath); //得到的路径名称中包括可执行文件的名称。
}
free(cwd);
}

下面函数从完整路径中取得纯路径:

char *extract_pathname(char *pathname, char *path)
{
char *p;

if (pathname == NULL || path == NULL) return NULL;
if ((p = strrchr(path, '/')) == NULL)
{
strcpy(pathname, "/0");
}
else
{
strncpy(pathname, path, p + 1 - path);
pathname[p + 1 - path] = '/0';
}
return pathname;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: