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

 

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值