山寨:不是最好的,是最适合我们的!欢迎体验山寨 中文版MSDN

Blog @ Blog

当华美的叶片落尽,生命的脉络才历历可见。 -- 聂鲁达

常用链接

统计

积分与排名

BBS

Blog

Web

最新评论

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
在网上有好帖子讲这个很详细的。
可以搜索看下

先把错误过程贴出来。有时间再分析下!

posted on 2008-01-17 16:08 isabc 阅读(728) 评论(1)  编辑 收藏 引用 所属分类: BUG分析

评论

# re: sizeof求长度的错误用法。 2008-01-17 16:38 isabc

寻路者(158989725) 16:37:15
sizeof是编译时确定的.
寻路者(158989725) 16:37:28
strlen是运行时确定的.  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


广告信息(免费广告联系)

中文版MSDN:
欢迎体验