我编的一个VC++程序里面要读取图片,我现在用的是绝对路径
if(m_Freq=="800MHz"&&num1==6)
{
strName_top="E:\\6maleRat\\maleRat_800MHz_Top6.jpg";
strName_bot="E:\\6maleRat\\maleRat_800MHz_Bottom6.jpg";
},
我想在其他电脑上应用程序,但是得把文件读取改成相对路径,求解决。
if(m_Freq=="800MHz"&&num1==6)
{
strName_top="E:\\6maleRat\\maleRat_800MHz_Top6.jpg";
strName_bot="E:\\6maleRat\\maleRat_800MHz_Bottom6.jpg";
},
我想在其他电脑上应用程序,但是得把文件读取改成相对路径,求解决。
strName_bot="..\6maleRat\\maleRat_800MHz_Bottom6.jpg";具体我博客里有介绍
..\上级目录
.\本级目录
PathAppend 将一个路径附加在另外一个路径后面
PathCombine 将两个路径合并为一个新路径
两者区别是一个在原基础上修改,一个是输出到新值。如:TCHAR szPath[MAX_PATH];
TCHAR szFile[] = TEXT("..\\6maleRat\\maleRat_800MHz_Bottom6.jpg");
if (GetModuleFileName(NULL, szPath, MAX_PATH) > 0) {
if (PathRemoveFileSpec(szPath)) {
PathAppend(szPath, szFile);
}
}
CString sPath;
GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer();
int nPos;
nPos=sPath.ReverseFind('\\');
sPath=sPath.Left(nPos);