UNICODE中我调用了一些库,库中函数不支持Unicode怎么办

来源:互联网 发布:办公室必备软件 编辑:程序博客网 时间:2024/06/05 20:48
 

可以使用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

原创粉丝点击