void CAWXToBMPZone::OnSave()
{
// TODO: 在此添加命令处理程序代码
Invalidate();
LPCTSTR szFilterBMP = _T("BMP File(*.bmp)|All Files(*.*)|*.*||");
CFileDialog filesavebox(FALSE,_T("bmp"),_T("temp.bmp"),OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
szFilterBMP,NULL);
filesavebox.m_ofn.lpstrTitle=_T("保存为位图");
if(filesavebox.DoModal()!=IDOK)
return;
CString fileNameSave = filesavebox.GetPathName();
CString fileNameSave1 = _T("hello");
fileNameSave1 = _T("world");
TRACE("the nale is %s",fileNameSave);
ImageUtility imageUtility;
String str = imageUtility.CString2StdString(fileNameSave);
imwrite(str,m_imageMat);
}
void CAWXToBMPZone::OnOpenFile()
{
// TODO: 在此添加命令处理程序代码
Invalidate();
LPCTSTR szFilterBMP = _T("IMG Files (*.AWX)|*.AWX|All Files (*.*)|*.*||");
CFileDialog fileopenbox(TRUE,_T("BMP"),NULL,
OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilterBMP);
fileopenbox.m_ofn.lpstrTitle=_T("选择卫星云图");
if(fileopenbox.DoModal()!=IDOK)
return;
fileName = fileopenbox.GetPathName();
}
上述两个函数中千万不要使用同一个CString来保存路径名,负责会出错,但是显示的赋值时可以,就像如下所示。这个时候fileNameSave1的值会被第二次赋予的值覆盖掉,即为“world”,注意这个时候fileNameSave1指向的实际是world的首字母,即为w.。所以可以理解为指针也是可以的
CString fileNameSave1 = _T("hello");
fileNameSave1 = _T("world");