Linux CC++获取当前目录和运行文件所在目录

Linux CC++获取当前目录和运行文件所在目录,第1张

获取顷蠢当前工作目录可以使用

char *getcwd( char *buffer, int maxlen )

而要瞎哪找到当雀神陪前所运行的文件的目录,可以使用

readlink("/proc/self/exe", char *buffer, int maxlen )

GetCurrentDirectory是取得当前工作路径,如果程序中改变了这个路径粗核比如用CFileDialog打开了一个文件,GetCurrentDirectory得到的结果会发生变化。

一般来说,取得亮握程序运行目录的方法是用GetModuleFileName来获取当前Module的完整路径,当其第一个参数hModule置NULL的时候得到当前APP的绝对路径,然后去掉最后一个"\"以后的部分即敬凳庆文件名部分,就得到了程序运行目录。

大体上可以这样写(仅供参考):

char buffer[MAX_PATH+1]

::GetModuleFileName (NULL,buffer,MAX_PATH)

for(int i=MAX_PATH-1i>=0i--)

{

if(*(buffer+i)!='\\')

{

*(buffer+i)=0

}else{

break

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12563226.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存