CString转const char *是一件麻烦事,但是在做项目中经常遇到,所以这里做个笔记。
//CString转const char* 麻烦
LPCTSTR p=pathName.GetBuffer();
DWORD dwMinSize;
dwMinSize=WideCharToMultiByte(CP_ACP,NULL,p,-1,NULL,0,NULL,FALSE);
char * filename=new char[dwMinSize];
WideCharToMultiByte(CP_OEMCP,NULL,p,-1,filename,dwMinSize,NULL,FALSE);
//返回播放暂停时的初始位置
CvCapture* capture = cvCreateFileCapture(filename);
cvSetCaptureProperty(capture, CV_CAP_PROP_POS_FRAMES, t_FrameNumberStart);
IplImage* Img;
Img=cvQueryFrame(capture);
CMainFrame* pFrame = (CMainFrame *)(AfxGetApp()->m_pMainWnd);
CVideoDectView* pViw = (CVideoDectView*)pFrame->GetActiveView();
pViw->m_VideoPlayCtrl.ShowIplImage((VARIANT* )Img, 0, 0, 1);
本文详细探讨了在项目开发中将CString转换为const char*的常见问题及解决方案,包括内存分配、多字节字符编码转换以及利用转换后的字符串进行文件操作的实例。
654

被折叠的 条评论
为什么被折叠?



