将cast char键入为Unsigned short

type cast char to Unsigned short

本文关键字:Unsigned short cast char      更新时间:2023-10-16

我试图将字符转换为无符号短字符,但在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,可以这样做吗?

您正在将temp的元素设置为整数值1。您需要字符值'1':

memset(temp, '1', 3);

请注意,为了使atoi可靠地工作,您还需要NUL终止temp

它来自您的memset,您放入3个值为1的字节,这与编写不同

strcpy(temp, "111")

也许我颠倒了src和dest