其他分享
首页 > 其他分享> > 相对路径转化为绝对路径

相对路径转化为绝对路径

作者:互联网

       遇到一个问题,需要按照条件显示一个文件夹里的很多张图像中的一张(作为菜鸟的我只能选择这种低级的操作),搜索找到了一个函数可以显示文件里的图片到picture控件中,就是它:

BOOL ShowImage(CDC* pDC, CString strPath, int x, int y);

       如图所示,它需要输入一个控件ID和文件路径,以及图片相对控件的偏移量,问题来了:函数里输入的路径是绝对路径,写好的程序换个盘放图片路径就变了,辛辛苦苦拼凑出来的程序就歇了,那么要把相对路径转换为绝对路径不就OK了,于是乎又开始了搜索,但是没找到。。。。正当绝望之际,忽然想到,把相对路径相对的那个文件路径得到了问题不就解决了吗?于是乎搜索了一下C++有没有获取当前文件路径的函数,果然它不令人失望,它有:

//获取当前文件所在目录
	char buff[250];
	_getcwd(buff, 250);
	std::string current_working_directory(buff);
	CString CString_Image_Path(current_working_directory.c_str());

       它可以获取到.cpp文件的路径,与相对路径拼接一下,添加上相对.cpp文件的路径偏移,绝对路径搞定,头发保住了!!!!(_getcwd(buff, 250)这一句好像会报错,直接搜一下错误提示按照搜索到的措施解决错误即可)

//拼接得到图片的相对路径
	CString Image_Path = _T("\\image\\1.jpg") ;
	//拼接得到图片绝对路径
	CString_Image_Path += Image_Path;

	MessageBox(CString_Image_Path);

        然后它放在任何位置都可以显示图片了

(1)

(2)

 

    这是一个苦逼研究生混迹CSDN一年多以来写的第一篇文章,写在加班的元旦第二天假期,哦不,我没有假期!

标签:路径,Image,CString,绝对路径,转化,相对路径,Path
来源: https://blog.csdn.net/qq_47905903/article/details/122273957