包含缓冲区值的文件。前16位包含类型。接下来的32位给出数据的长度。数据中的剩余值。

如何从16位中找到类型(如果是int或char ...,则查找)

我在这里虽然陷入了超级困境。无法找到一种将位转换为类型的方法。

最佳答案

假设您有家庭作业:


  您会得到一个文件,其中第一位编码类型,
  接下来的7位编码长度,其余为数据。
  
  这些类型以以下方式编码:
  
  
  0用于int
  1用于字符
  
  
  打印以换行符分隔的整数或字符。


您只使用给定的信息!由于1位用于编码类型,因此有两种可能的类型。因此,您只需阅读第一部分,然后执行:

if (bit == 0) {
    int *i = ...
}
else if (bit == 1) {
    char *c = ...
}

关于c++ - 从缓冲区输入的位,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54971680/

10-11 23:12
查看更多