将无符号字符数组转换为uint8_t数组?

4
我需要将无符号字符数组转换为unit8_t数组,也许有人知道如何做到这一点?
我试图在互联网上寻找信息,但不幸的是我没有成功。
:)

没有什么需要转换的。如果 uint8_t 存在,则与 unsigned char 相同。或者反过来:如果 unsigned char 有超过8位,那么就没有可用的 uint8_t - user2371524
2个回答

6

那么,你尝试过 uint8_t* myuint8array = (uint8_t*)myuchararray; 吗?


1

你有

unsigned char arr[size];

and you want

uint8_t arr[size];

uint8_t 简单定义为无符号 8 位整数。

typedef unsigned char uint8_t;

:-)


1
如果char具有超过8位,则可能根本未定义。 - user2371524
一个字符什么时候可能有超过8位的比特呢? - Robert
@Robert - 例如,在一台36位的计算机上,它可以是9位参考链接 - Bo Persson
这对我来说是完全的新闻,我以前从未听说过。谢谢,我会立即阅读它。 :-) - Robert
@RobertK 这就是为什么 #define CHAR_BIT 8(例如)出现在 limits.h 中的原因。 - Weather Vane
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接