键入cast char to Unsigned short

Sij*_*ith 0 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);
}
Run Code Online (Sandbox Code Playgroud)

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

Fre*_*Foo 7

您将元素设置temp为整数值1.你想要的角色值'1':

memset(temp, '1', 3);
Run Code Online (Sandbox Code Playgroud)

请注意,您还需要NUL,终止tempatoi可靠地工作.