几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量  


返回   几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 » 仿射空间:CAX软件开发(三)二次开发与程序设计 » CAD二次开发 » AutoCAD二次开发 » DirectDWG
用户名
密码
注册 帮助 会员 日历 银行 搜索 今日新帖 标记论坛为已读


 
 
主题工具 搜索本主题 显示模式
旧 2009-05-05, 12:14 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】how can i convert odstring to cstring

how can i convert odstring to cstring?
how can i convert odstring to cstring?
hi, i'm david.lee
following codes is right? comparenocase function couldn't operate normally.
please help me.
------------------------------------------------------------------------
odstring typeface;
pstyle->font(typeface, bold, italic, charset, pitchandfamily);
cstring s;
for (int i = 0; i < m_ctrlttffont.getitemcount(); i++)
{
m_ctrlttffont.getlbtext(i, s);
if (!s.comparenocase(typeface.c_str()))
break;
}
------------------------------------------------------------------------
the code looks right, yes.(for unicode)
instead of .c_str() you may also use type cast operator, like (const tchar*)
(to support both unicode, and non-unicode configurations)
vladimir
thank you for sincerly reply.
i didn't understand which code is error.
converting cstring to odstring is ok. but the problem is finded in charformat structure (tchar szfacename[lf_facesize])
and i solved this problem as like following code.
1. convert from cstring to tchar szfacename[lf_facesize] in unicode
#include <atlconv.h>
uses_conversion;
cstring s;
m_ctrlttffont.getwindowtext(s);
lstrcpya(m_charformat.szfacename, t2a((lptstr)(lpctstr)s));
2. convert from tchar szfacename[lf_facesize] to odstring or cstring in unicode
#include <atlconv.h>
uses_conversion;
odstring szname;
szname.format(_t("%s"), a2t(m_charformat.szfacename));
anyway, thank you for sincely reply.
if you are supporting unicode only, why use t2a?
if you support both configurations, when the previous question applies, and besides odstring::format() first argument is not (const tchar*), but rather (const wchar_t*), or (const odchar*)
perhaps your code should look like that, to support both configuraitons
cstring s;
m_ctrlttffont.getwindowtext(s);
// no need to convert
lstrcpy(m_charformat.szfacename, (lpctstr)s));
// no ned to convert either
odstring szname((lpctstr)m_charformat.szfacename)
vladimir
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
 


主题工具 搜索本主题
搜索本主题:

高级搜索
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

vB 代码开启
[IMG]代码开启
HTML代码关闭

相似的主题
主题 主题发起者 论坛 回复 最后发表
【转帖】error c2664 yang686526 DirectDWG 0 2009-05-05 09:34 AM
【转帖】convertig odstring to cstring yang686526 DirectDWG 0 2009-05-04 06:13 PM
【转帖】convert odstring to unicode yang686526 DirectDWG 0 2009-05-04 06:13 PM
【转帖】ambiguous call to overload functions in odstring.h yang686526 DirectDWG 0 2009-05-04 03:56 PM
关于Cstring 类 huangyhg vc编程 0 2007-04-28 02:59 PM


所有的时间均为北京时间。 现在的时间是 04:37 PM.


于2004年创办,几何尺寸与公差论坛"致力于产品几何量公差标准GD&T | GPS研究/CAD设计/CAM加工/CMM测量"。免责声明:论坛严禁发布色情反动言论及有关违反国家法律法规内容!情节严重者提供其IP,并配合相关部门进行严厉查处,若內容有涉及侵权,请立即联系我们QQ:44671734。注:此论坛须管理员验证方可发帖。
沪ICP备06057009号-2
更多