您的位置:首页 > 其它

Windows下获取当前程序文件名或完整路径方法

2014-12-18 21:17 387 查看
1、通过用_splitpath函数对argv[0]参数进行分割,然后自行拼接组装字符串,想要哪个可以将其以参数传出。

int deal_for_work_path(char *full_path)
{
char   path_buffer[_MAX_PATH];
char   drive[_MAX_DRIVE];
char   dir[_MAX_DIR];
char   fname[_MAX_FNAME];
char   ext[_MAX_EXT];

_splitpath(full_path, drive, dir, fname, ext);

return 0;
}


2、使用GetModuleFileName(NULL, work_path, _MAX_PATH)得到程序模块.exe全路径

需要#include <windows.h>

char work_path[_MAX_PATH] = {0};
GetModuleFileName(NULL, work_path, _MAX_PATH);	//得到程序模块.exe全路径
*(strrchr( work_path, '\\') + 1) = 0;		//去掉程序文件名
不得不说这个时候strrchr函数发挥了很大的作用。

也可以这样去除程序文件名

strrchr( work_path, '\\')[1]= 0;
如果不需要路径最后的反斜杠'\'

可以这样:

*strrchr( exeFullPath, '\\') = 0;
strrchr( exeFullPath, '\\')[0] = 0;


注:若为Linux环境argv[0]则为程序名,get_pwd()函数可获取程序文件路径。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c windows path