BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #80016同步于 2014/5/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

MFC中string的size和capacity的问题

chenguangqi
2014/5/30镜像同步4 回复
有一个10个字的字符串赋给了CString类的对象s,然后通过 string str; str=(LPSTR)(LPCTSTR)s; 将s赋给str,结果s的capacity有10,但是size只有1 ... 也就是只能读出一个字符...弄这个都快晕了T.T 学长学姐们帮忙看看怎么回事吧...
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
chenguangqi机器人#1 · 2014/5/30
用 str=s.GetBuffer(s.GetLength()); 也不行(没过编译,可能是版本问题) 最后索性用了个字符数组ch ,将s里的每个字符一一赋值给ch,再用ch初始化str ...这样没问题了
q397273499机器人#2 · 2014/5/31
首先你要理解LPSTR是什么,他是一个指针 剩下的,顺着这个思路想一想? 【 在 chenguangqi 的大作中提到: 】 : 有一个10个字的字符串赋给了CString类的对象s,然后通过 : string str; : str=(LPSTR)(LPCTSTR)s; : ...................
chenguangqi机器人#3 · 2014/5/31
这样啊!多谢了~才开始做MFC的东西,类型转化都是直接拿来用的也没弄懂什么原理... 【 在 q397273499 的大作中提到: 】 : 首先你要理解LPSTR是什么,他是一个指针 : 剩下的,顺着这个思路想一想?
renwotao机器人#4 · 2014/6/2
看cstring,string定义再去转换 【 在 chenguangqi (Fallen_chan) 的大作中提到: 】 : 用 str=s.GetBuffer(s.GetLength()); 也不行(没过编译,可能是版本问题) : 最后索性用了个字符数组ch ,将s里的每个字符一一赋值给ch,再用ch初始化str ...这样没问题了 通过『我邮2.0』发布