首先让我说我公开承认这是一个家庭作业,但我所问的与作业的目的无关,只是我不明白的东西C
。这只是大型程序的一小部分。
所以我的问题是,我有一组包含各种数据类型的数据,如下所示:
[16 bit number][16 but number][16 bit number][char[234]][128 bit number]
其中每个块代表程序中其他地方的一个变量。我需要8bytes
一次将该数据发送到一个接受uint32_t[2]
输入的函数中。如何在不丢失值的情况下将我的转换234byte char array
为?uint32_t
char
换句话说,我需要能够在以后从uint32_t
版本转换回原始char array
版本。我知道char
是1byte
,并且该值也可以表示为与其 ascii 值相关的数字,但不确定如何在两者之间进行转换,因为有些字母有 3 位 ascii 值,而其他字母有 2。
我尝试使用从数据集中sprintf
抓取8byte
块,并将该值存储在uint32_t[2]
变量中。它有效,但后来我丢失了原件char array
,因为我无法找到返回/撤消它的方法。
我知道必须有一个相对简单的方法来做到这一点,我只是缺乏足够的技能C
来实现它。