可以使用T2A这个宏,代码:
CFileDialog hFileDlg(FALSE,NULL,NULL,OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT | OFN_CREATEPROMPT, _T("(*.TAB)|*.TAB|| "),NULL);
CString strFileName;
LPTSTR pszfilename=strFileName.GetBuffer(255);
memset(pszfilename,0,255);
lstrcpy(pszfilename, _T("未命名"));
hFileDlg.m_ofn.lpstrFile = pszfilename; //设置默认文件名失败
hFileDlg.m_ofn.nMaxFile =_MAX_PATH;
hFileDlg.m_ofn.lpstrDefExt = _T("TAB ");
hFileDlg.m_ofn.lpstrTitle = _T("导出到文件 ");
if (hFileDlg.DoModal() == IDCANCEL )
{
return;
}
USES_CONVERSION;
const char* ptr = T2A(strFileName.GetBuffer(0));//这个宏
mitab_handle tabHandle = mitab_c_create(ptr,"tab",NULL,90,-90,180,-180);
if(tabHandle == NULL)
{
::AfxMessageBox(_T("图层打开失败"));
return;
}
strFileName.ReleaseBuffer();
mitib这个库本身不支持unicode的
如果是VC环境 可以使用CStringA