字符串的问题

birchlin 2008-04-14 04:43:55
CString m_str1="1234";


int i=m_str1.GetLengyh();

i=4 还是5?
然后用SetAt(n,char)函数给m_str1赋值,如果n>5,字符串的结果会是什么,能显示出来了

例如:
SetAt(4,97);后,m_str1="1234a"吗?



如果
...全文
97 18 打赏 收藏 举报
写回复
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
birchlin 2008-05-26
  • 打赏
  • 举报
回复
揭贴了!hoohoo
birchlin 2008-04-16
  • 打赏
  • 举报
回复
楼上肯定setat()会越界吗?
晨星 2008-04-14
  • 打赏
  • 举报
回复
楼主这是跟谁过不去啊?SetAt跟operator=本来就是两个八竿子打不着的方法,含义和功能也大相径庭,毫无关系。
为什么偏要放在一起比较?而且还煞有介事地去比较它们的同一个方面?

感觉楼主的问题有点像:“为什么母鸡能下蛋,偏偏公鸡不能?”。
晨星 2008-04-14
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 birchlin 的回复:]
setat()函数的作者难道不是MFC的作者?
[/Quote]
SetAt不一样,它只保证下标有效时才正确。这个怎么能跟operator=相提并论?operator=是释放旧的重新分配新的,完全不一样。
Ethan_yushui213 2008-04-14
  • 打赏
  • 举报
回复
jf

问题不难,自己搞搞,加深理解
birchlin 2008-04-14
  • 打赏
  • 举报
回复
setat()函数的作者难道不是MFC的作者?
birchlin 2008-04-14
  • 打赏
  • 举报
回复
试验了,SetAt(),确实越界!重新赋值不越界.

为什么越界呢?
晨星 2008-04-14
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 birchlin 的回复:]

CString m_str1="1234";

m_str1="123456aa";

这样为什么不越界呢?
[/Quote]

这个是重新赋值,属于CString::operator=()的正常调用,MFC的作者怎么会让它越界呢?
hai040 2008-04-14
  • 打赏
  • 举报
回复
ls可能错了,setat有边界限制吗?
lz还是试试吧
hai040 2008-04-14
  • 打赏
  • 举报
回复
4
1234a后接不确定长度的不确定字符,程序有可能出错
p0303230 2008-04-14
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 birchlin 的回复:]


CString m_str1="1234";

m_str1="123456aa";

这样为什么不越界呢?
[/Quote]

越了吧

你输出试试
birchlin 2008-04-14
  • 打赏
  • 举报
回复


CString m_str1="1234";

m_str1="123456aa";

这样为什么不越界呢?
Treazy 2008-04-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 Treazy 的回复:]


同意!

4
[/Quote]

Treazy 2008-04-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xkyx_cn 的回复:]
hoho 自己试验印象会更深刻
[/Quote]

同意!

5
zhxx_qs 2008-04-14
  • 打赏
  • 举报
回复
当然是4
SetAt(4,97)越界了, 不会得到1234a这个值.
p0303230 2008-04-14
  • 打赏
  • 举报
回复
试了 有问题再贴出来
p0303230 2008-04-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xkyx_cn 的回复:]
hoho 自己试验印象会更深刻
[/Quote]
xkyx_cn 2008-04-14
  • 打赏
  • 举报
回复
hoho 自己试验印象会更深刻
相关推荐
发帖
C++ 语言

6.3w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
帖子事件
创建了帖子
2008-04-14 04:43
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下