如何求长度?

这不是鸭头 2010-08-17 04:04:35
char szBuf[128] = {0};
char szSrc[] = {0x11,0x22,0x00,0x00,0xaa,0xbb};
memcpy(szBuf,szSrc,sizeof(szSrc));

能不能通过 szBuf 获取里面内容的个数呢?
...全文
160 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yabao0014 2010-08-20
  • 打赏
  • 举报
回复
不知道~
wxwlll 2010-08-20
  • 打赏
  • 举报
回复
自己写个算法,去统计吧!
这不是鸭头 2010-08-20
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 zrebecca 的回复:]

引用楼主 arpnet99 的回复:
char szBuf[128] = {0};
char szSrc[] = {0x11,0x22,0x00,0x00,0xaa,0xbb};
memcpy(szBuf,szSrc,sizeof(szSrc));

能不能通过 szBuf 获取里面内容的个数呢?
sizeof(szBuf)为128,sizof(szSrc)为6,不知道lz的意思是什……
[/Quote]
只通过szBuf 求出 里面有效数据的长度 6
zrebecca 2010-08-20
  • 打赏
  • 举报
回复
[Quote=引用楼主 arpnet99 的回复:]
char szBuf[128] = {0};
char szSrc[] = {0x11,0x22,0x00,0x00,0xaa,0xbb};
memcpy(szBuf,szSrc,sizeof(szSrc));

能不能通过 szBuf 获取里面内容的个数呢?
[/Quote]sizeof(szBuf)为128,sizof(szSrc)为6,不知道lz的意思是什么
luzhiwei512 2010-08-19
  • 打赏
  • 举报
回复
像这种情况应该根据实际使用,可以定些规律比较好计算
flyinbirdf 2010-08-17
  • 打赏
  • 举报
回复
自己写个函数吧,很简单的。从后往前找,找到第一个不等于0的数,就知道具体有多少个字符了。明白了吧?
这不是鸭头 2010-08-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 bhdgx 的回复:]
strlen(szBuf),这个有缺陷,遇到0时就返回了,也就是2。如过想要知道有多少值就只有自己检查了吧,你复制多少个进去就是多少了。
再有,你初始化数组元素的时候是0,你再复制0进去,真是不好比较啊。
[/Quote]
但是实际情况有时候存在这个可能...
Rex237 2010-08-17
  • 打赏
  • 举报
回复
直接从数组本身获得己更改的元素个数,这是不可能的。只能通过自己另外定义一个变量来记录。
Soulic 2010-08-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 arpnet99 的回复:]

引用 4 楼 qlming 的回复:

LZ的意思应该不是得到数组容量总大小,
而是数组中有实际内容的元素个数吧。
用sizeof只能得到数组总大小。
使用元素个数是得不到,也没有办法得到。

嗯。我就是这个意思。
[/Quote]
strlen(szBuf),这个有缺陷,遇到0时就返回了,也就是2。如过想要知道有多少值就只有自己检查了吧,你复制多少个进去就是多少了。
再有,你初始化数组元素的时候是0,你再复制0进去,真是不好比较啊。
这不是鸭头 2010-08-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 qlming 的回复:]

LZ的意思应该不是得到数组容量总大小,
而是数组中有实际内容的元素个数吧。
用sizeof只能得到数组总大小。
使用元素个数是得不到,也没有办法得到。
[/Quote]
嗯。我就是这个意思。
浅蓝马 2010-08-17
  • 打赏
  • 举报
回复
LZ的意思应该不是得到数组容量总大小,
而是数组中有实际内容的元素个数吧。
用sizeof只能得到数组总大小。
使用元素个数是得不到,也没有办法得到。
cao_julians 2010-08-17
  • 打赏
  • 举报
回复
在数组的定义域范围内用sizeof(数组名)/sizeof(数组元素),可以得到数组元素个数。
Jim_King_2000 2010-08-17
  • 打赏
  • 举报
回复
#define ARRAY_SIZEOF(X) sizeof(X) / sizeof(X[0])
浅蓝马 2010-08-17
  • 打赏
  • 举报
回复
不行。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧