【发布时间】:2011-08-06 15:02:00
【问题描述】:
嘿,关注这个Question
我又被卡住了,是的,我已经尝试通过网络和教科书查看。我知道这么快发布另一个问题可能很糟糕,但我真的很难过这个问题。所以无论如何...
作业的下一部分要求我找到这个人的年龄,这个年龄位于姓名之后的下一个字节上。基本上,如果名字是“鲍勃”,那就是
[L][u][k][e][\0][\0][1][5]
其中所有具有偶数个字符的名称都获得 2 个空字符以使其均匀,然后接下来的两个字节存储一个 short 整数。目前,我尝试查看字符串长度,然后在长度上添加更多长度,然后再将其放置到偏移量上,但它似乎不起作用
if (name.length() % 2 != 0) {
offset += (name.length());
age = *((short*)foo+offset);
cout << age << "\n";
} else {
offset += (name.length());
age = *((short*)foo+offset);
cout << age << "\n";
}
【问题讨论】:
-
什么是
name?foo是什么?数字也不会像那样存储在文本中(除非您在示例数组中从显示字符切换为数值)。哦,您在if和else中都在做同样的事情。 -
name 是一个字符串,foo 是一个 const void *(查看问题的链接以获取更多详细信息),是的,我注意到(我在粘贴之前 crtl+z 一次太多次
标签: c++ pointers variable-assignment short