sizeof求长度的错误用法。
在路上<
isabc@qq.com> 15:57:02
CString strMsg = "ok1ok2ok3ok4";
char* Buffer = strMsg.GetBuffer(strMsg.GetLength());
int n = sizeof(Buffer);
在路上<
isabc@qq.com> 15:57:31
n怎么等于4
寻路者(158989725) 15:57:51
int n = sizeof(Buffer);
在路上<
isabc@qq.com> 15:57:55
可以这样求吗?
寻路者(158989725) 15:58:13
Buffer是个指针.在32位机器上就是4个字节
Pinck(258360502) 15:58:17
指针.
在路上<
isabc@qq.com> 15:58:14
这样啊!
Pinck(258360502) 15:58:25
用strlen
在路上<
isabc@qq.com> 15:58:16
谢谢
沧海一粟(17023666) 16:01:49
就是这样的
在路上<
isabc@qq.com> 16:03:37
如果是数组就可以对吧
在路上<
isabc@qq.com> 16:03:54
char buffer[1024] = {"ok1ok2ok3ok4"};
在路上<
isabc@qq.com> 16:04:06
sizeof(buffer)
在路上<
isabc@qq.com> 16:04:15
这样可以得到实际长度吧
Pinck(258360502) 16:04:49
不能.
Pinck(258360502) 16:04:59
长度为1024
在路上<
isabc@qq.com> 16:05:05
这样啊!!
沧海一粟(17023666) 16:06:23
如果这样就行
sizeof和strlen有区别
如果这样可以的
char buffer[]={"ok1ok2ok3ok4"};
sizeof(buffer);
沧海一粟(17023666) 16:07:00
在网上有好帖子讲这个很详细的。
可以搜索看下
先把错误过程贴出来。有时间再分析下!