比如,我给出一个int p=2000;
我要将一个打开的文件另存为2000.bmp
大致代码如下:
void C***View::OnButtonSave()
{
int p=2000;
CString strCopyFileName;
strCopyFileName.Format("%d",p);
CFile file;
CFileException fe;
// 打开文件
if (!file.Open(LPCTSTR(strCopyFileName), CFile::modeCreate |
CFile::modeReadWrite | CFile::shareExclusive, &fe))
{
// 失败
// 返回
return;
} // 尝试调用SaveDIB保存图像
BOOL bOpenSuccess = FALSE;
TRY
{
// 尝试保存图像
bOpenSuccess = ::SaveDIB(hDIB, file);// 保存hDIB是指向一幅位图的句柄 // 关闭文件
file.Close();
}
CATCH (CException, eSave)
{
// 失败
file.Abort();
// 返回
return;
}
END_CATCH
if (!bOpenSuccess)
{
// 保存失败,提示出错
MessageBox("无法保存BMP图像!");
}
}
运行以后,得到的是2000文件,无扩展名,不是位图文件
如果直接strCopyFileName="d:\\2000.bmp";
保存后就得到位图文件
请问,我该如何通过给出的整数p,让它保存为p.bmp文件?
我要将一个打开的文件另存为2000.bmp
大致代码如下:
void C***View::OnButtonSave()
{
int p=2000;
CString strCopyFileName;
strCopyFileName.Format("%d",p);
CFile file;
CFileException fe;
// 打开文件
if (!file.Open(LPCTSTR(strCopyFileName), CFile::modeCreate |
CFile::modeReadWrite | CFile::shareExclusive, &fe))
{
// 失败
// 返回
return;
} // 尝试调用SaveDIB保存图像
BOOL bOpenSuccess = FALSE;
TRY
{
// 尝试保存图像
bOpenSuccess = ::SaveDIB(hDIB, file);// 保存hDIB是指向一幅位图的句柄 // 关闭文件
file.Close();
}
CATCH (CException, eSave)
{
// 失败
file.Abort();
// 返回
return;
}
END_CATCH
if (!bOpenSuccess)
{
// 保存失败,提示出错
MessageBox("无法保存BMP图像!");
}
}
运行以后,得到的是2000文件,无扩展名,不是位图文件
如果直接strCopyFileName="d:\\2000.bmp";
保存后就得到位图文件
请问,我该如何通过给出的整数p,让它保存为p.bmp文件?
解决方案 »
- CDatabase 的ExecuteSQL 必须与 try catch一起用吗
- 为什么ATL工程自动生成的.rgs文件,只有类型库的GUID,没有接口的GUID?
- 我是新手,求救各位大侠了!!!
- win32 SDK编程如何判断鼠标在某一个控件上面进行了双击或单击操作?
- 书评
- MFC程序在CRT和液晶显示的差异
- 请教一个关于.dll动态连接库的编程问题
- 我的操作系统已经重新安装了,oracle文件夹和数据库都在,不想重新安装,请问怎么设置?
- 新手救助:做数字图像处理要如何入门??
- 要学习数据库编程,需要哪些基础知识啊??
- 我用_beginthread启动了N个线程,如何获知此N个线程已退出(结束)
- 文件目录复制问题!SHFileOperation用法。
CString strCopyFileName;
strCopyFileName.Format("%d",p);
strCopyFileName+=".bmp";//加上这句不就行了
CString str;
char path[MAX_PATH]={'\0'};
GetModuleFileName(NULL,path,MAX_PATH);
str.Format("%s",path);
int iPosition;
iPosition=str.ReverseFind('\\');
str=str.Left(iPosition+1);这时str就是应用程序的目录路径了,
然后你准备放到那个目录下就自己加吧,
比如:str+="bmp\\";
就是放到bmp目录下