导航
  • 主页
  • VC/MVC基础类
  • .NET 技术
  • VC/MFC界面
  • VC/MFC 进程
  • VC/MFC 数据库
  • VC/MFC&Web
  • Doc/View
  • VC++技术资源

问一个关于数组越界的问题

huhx002 2010-08-07 10:18:25
我有一个已经分配空间了的CString的数组,但在其他地方使用的时候不知道它的长度了,而我又要对其进行循环操作,我用while(pstr[i]!=NULL){},这样也不行,有什么好的方法吗?
...全文
162 点赞 收藏 8
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
huhx002 2010-08-13
C#使用习惯了,一般用的时候不带长度,就是问问各位有没有好的方法,明白了,谢谢各位!
回复
Sky-Yang 2010-08-09
[Quote=引用 5 楼 mikebnuxz 的回复:]
如何是MFC工程用CStringArray,否则使用vector
[/Quote]
使用CStringArray吧,或者vector
回复
xingpacer 2010-08-08
使用vector, 随着添加元素,vector长度是自动计算的,比起定义数组的好处是vector不用指明元素的个数,只管加就行了,然后调用vector的size函数就可以得知列表中元素的个数:

std::vector<CString> strList;
......
int len = strList.Size();
回复
lazy_2010 2010-08-08
这个一定得记住实际有效长度,没有别的绕开的办法。
回复
mikebnuxz 2010-08-08
如何是MFC工程用CStringArray,否则使用vector
回复
羽飞 2010-08-07
如果是静态的,可以这样获取长度:sizeof(arr)/sizeof(arr[0]);
回复
wltg2001 2010-08-07
[Quote=引用楼主 huhx002 的回复:]
我有一个已经分配空间了的CString的数组,但在其他地方使用的时候不知道它的长度了,而我又要对其进行循环操作,我用while(pstr[i]!=NULL){},这样也不行,有什么好的方法吗?
[/Quote]
你自己分配的空间,怎么不知道它的长度呢
回复
副组长 2010-08-07
那你就用CStringArray类。用GetSize()成员函数随时可以获得串的个数。
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告
暂无公告