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
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)