ATL的CString传递给MFC的CString 问题

luoxi1124 2011-05-03 03:51:15
各位好!在做一个程序,其中ATL的windows shell调用MFC的DLL,DLL用的是标准C接口,传递用的是CString。
windows shell里的CString用的是ATL的,DLL接收值用的是MFC的CString。
查了资料,ATL和MFC中CString是通用的啊,我用的是VS2008.

如:在windows shell里获得一个文件地址:“C:\1.TXT”
而在DLL里,接到的是“C”。其余的没有了。

谢谢各位帮助。
...全文
101 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
luoxi1124 2011-05-03
  • 打赏
  • 举报
回复
谢谢各位了,问题我已经解决了,确实ATL和MFC之间可以用CString传递值,我是因为字符集的原因错了。ATL用的是UNCODE,而MFC用的是ASC。统一起来就好了。
非常感谢各位。
jameshooo 2011-05-03
  • 打赏
  • 举报
回复
只是名称相同,ATL跟MFC的CString完全是不同的类,虽然它们共享相同的模板类,但模板参数不同
oyljerry 2011-05-03
  • 打赏
  • 举报
回复
DLL标准C接口用char*等,然后自己的CString来做转换.
fandh 2011-05-03
  • 打赏
  • 举报
回复
atl中的string类型,可以这样:string str;
mfc中的CString,可以这样:CString mfcstr;
mfcstr = str.c_str();
str = mfcstr.GetBuffer(0);

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧