我觉得应该可以,写个函数:做一个循环并用长度length计数,直到a++为null不就行了.
int GetLength(int* p)
{
for(int length=0;a!=0;length++,a++)
return i;
}
int GetLength(int* p)
{
for(int length=0;a!=0;length++,a++)
return i;
}
解决方案 »
- 请问一下RGB或十六进制如何转成HSL
- 好多书
- 怎么在 DSOFramer.ocx 控件如何得到上传的HttpAddPostString参数 如何得到 LB的值
- 求一个用MFC写的简单的包含四则运算就行的简单计算器的源代码。
- 关于VC和mysql的问题,谢谢了
- 对话框显示问题
- CString的取地址问题
- 请教windows中以下内存函数(运算符)的不同点
- 我用Install Shield做了一个安装程序,想在安装过程结束时自动启动另一个安装程序,应怎样实现!!
- 一个用ATL写的COM 程序, 编译后Link时通不过。有谁能帮我?
- 请大家帮忙:一个新手关于多线程的问题,谢谢了!!!
- 百分在线求助:一个关于线程的问题
不过你可以查看申请的内存区知道申请了多长:
在vc 中,会在申请的那片内存前加FDFDFDFD,再往前就有你所申请的长度信息,自己debug一下看看吧!
通常编译器会在你new出来的对象内存块的上面加上该块内存的大小,不然你以后用delete[] a的时候编译器如何知道归还多少内存?
但是不同的编译器不一样, CB5似乎是4个字节,而VC6就离奇的大.
如果是 vc(6/7) 的话,把你指针向后移动 16 bytes 应该就是长度了不过这种方法不应该是用在程序中
unsigned short nLen=*(p-4);
cout<<nLen<<endl;