还有一个问题:
我开了100个空间,结果只用了一部分,然后调用FreeExtra()
但是不管我用GetSize()还是GetUpperBound(),结果都是100.这是什么原因,怎么样才能得到真实的数据个数呢?
我开了100个空间,结果只用了一部分,然后调用FreeExtra()
但是不管我用GetSize()还是GetUpperBound(),结果都是100.这是什么原因,怎么样才能得到真实的数据个数呢?
1、CObArray::GetUpperBound
Returns the current upper bound of this array. Because array indexes are zero-based, this function returns a value 1 less than GetSize
2、差1
3、Add是在最后一个数据后加新数据,SetAt实在已有数据的地方换一个数据
4、自己试吧。
5、我没出现过你这样的情况,我想应该是调用SetSize时CStringArray类将空的地方都设成了空字符串,你可以显示一下后面的数据,看是不是这样。检测不难,当读到空字符串时自然就结束了。