// double 转 char, char 转 TCHAR
char messageShow[300] = {NULL};
TCHAR messageShowT[300];
sprintf_s( messageShow, "当前涨缩值 (X:%f,Y:%f) \n涨缩值范围 X[%f,%f], Y[%f,%f]",
x_scale, y_scale,
minScaleX, maxScaleX,
minScaleY, maxScaleY );
unsigned lenOfWideCharStr = ::MultiByteToWideChar(CP_ACP, 0, messageShow, -1, NULL, 0); //include '\0'
::MultiByteToWideChar(CP_ACP, 0, messageShow, -1, messageShowT, lenOfWideCharStr);
// CString转char*
if(d.DoModal() == IDOK)
{
CString path = d.GetPathName();
if( image!=NULL )
{
cvReleaseImage(&image);
}
int sizePath = (path.GetLength() + 1)*sizeof(TCHAR);
TCHAR pName[200];
char pNameMB[200];
memcpy( pName, (LPCTSTR)path, sizePath );
size_t i;
std::string curLocale = setlocale(LC_ALL, NULL);
setlocale(LC_ALL, "chs");
wcstombs_s(&i, pNameMB, (size_t)200, pName, sizePath );
setlocale(LC_ALL, curLocale.c_str());
if(colorType==0)
{
image = cvLoadImage(pNameMB, 0 );//载入图像
}