键入cast char to Unsigned short

时间:2013-07-02 15:50:11

标签: c++

我正在尝试将字符转换为无符号短字符,但我在m_cmdCode中获得的值始终为0.某些输入将非常有用。

int main()
{
 char *temp = new char[3];
 memset(temp,1,3);
 unsigned short m_cmdCode = (unsigned short) atoi(temp);
 printf("%d",m_cmdCode);
}

//我希望m_cmdCode等于111,是否可以这样做?

2 个答案:

答案 0 :(得分:7)

您将temp的元素设置为整数值1。您想要字符值'1'

memset(temp, '1', 3);

请注意,您还需要NUL终止temp atoi才能可靠地工作。

答案 1 :(得分:0)

它来自你的memset,你把3个字节值1,它与写作不一样

strcpy(temp, "111")

也许我颠倒了src和dest