参考这个帖子:Decode FOUR_BITS of a byte in a byte array (in C)
成员idooo给了我一个解决方案,可以看到那里涉及CHAR *的一些操作。当我尝试编译时,它给了我错误:'>>' :非法,左操作数类型为'unsigned char *'
我正在为此寻找解决方案。提前谢谢。
PS:我无法更改te数据类型。代码片段在我执行操作的那个线程中给出。变量及其范围也在那里解释。
答案 0 :(得分:2)
位操作位于解除引用指针上,其类型为char
,而不是char *
。因此,如果您有char *ptr
,则您的班次表达式应为*prt >> 4
,而不是ptr >> 4
。