CString存放的路徑轉成char*的細節問題

通過CFileDialog::GetPathName讀入的路徑以CString存放,如果想用OpenCV的capture讀入此路徑則需要將其轉化爲char*。
需要注意:
  1. CString中的路徑反斜槓是單斜槓,考慮轉義字符,轉爲char*之前要先替換成雙斜槓。

  2. 考慮到中文路徑的可能性,避免通過(LPCWSTR)強制轉換。

實現如下:

CString fileFullName;
char aviFileName[FILENAMELEN];
CFileDialog dlg(TRUE);
if(dlg.DoModal()==IDOK)
{
fileFullName=dlg.GetPathName();
fileFullName.Replace(_T("\\"), _T("\\\\"));  //VS2010中需要_T,VC6不需要
USES_CONVERSION;
strcpy(aviName, T2A(fileFullName));
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章