我正在编写一个代码来根据用户输入(一次 EIGHT_BITS 或一次 FOUR_BITS)解码字节数组。我实际上已经设法根据 EIGHT_BITS 解码字节数组。现在我想用 FOUR_BITS 对它们进行解码。
INT DecodeElem(UINT8 *decodeBuf, UINT8 elemlen, UINT8 *tempBuf, UINT8 elemlength){
if (elemlength== EIGHT_BITS){
*tempBuf = getByte(decodeBuf + decodeByteCount);
decodeOffset = 0;
decodeByteCount++;
}
}
即,如果elemlength= FOUR_BITS,我需要解码字节数组中特定字节的前四位。有人可以让我知道如何在不修改我上面写的 EIGHT_BITS 的情况下做同样的事情吗?
我基本上需要的是另一个带有 if (elemlength == FOUR_BITS) 的 if 语句
注意: tempBuf 是 CHAR * 类型,我不能更改类型。decodeByteCount 和 decodeOffset 是全局变量;*decodeBuf 是已经编码的需要解码的字节数组。elemlen 供将来使用,我会照顾它。
这是我的 getByte 函数:
UINT8 getByte(UINT8 *byteBuf)
{
return ((UINT8)*byteBuf);
}