将cast char键入为Unsigned short
type cast char to Unsigned short
我试图将字符转换为无符号短字符,但在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
相关文章:
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 不能在初始值设定项列表中将非常量表达式从类型 'int' 缩小到'unsigned long long'
- 'short int'持有的值溢出,但"自动"不会溢出?
- 我应该删除矢量<short>吗?
- 无法从'unsigned short [9]'转换为'char []'
- 'unsigned short var'与'unsigned char var [2]' C++
- 错误:从 'short unsigned int*' 到"短无符号 int"的转换无效|(在 C++ 中)
- 对'icu_56::UnicodeString::UnicodeString(signed char, unsigned short const*, int)' 的未定义引用
- 访问违规读取位置 0xCCCCCCCC.using bool & unsigned short
- gcc 奇怪的转换警告(<B>从"int"转换为"A::count_type {aka short unsigned int}"可能会改变其值)
- unsigned short和signed short比较wierd行为
- 将cast char键入为Unsigned short
- 奇怪的c++运算符(运算符unsigned short())
- 是实现定义的unsigned short + int类型
- 将 unicode 字符串作为 std::vector<unsigned short>
- C++11 中没有"sto{short, unsigned short}"功能?
- 将unsigned short转换为char
- 将"unsigned char"数组转换为其"unsigned short"对应项的有效方法是什么?
- 将unsigned short mat转换为opencv中的vector
- 快速将quint16/unsigned short添加到QByteArray中