如何从指向他的指针位置确定缓冲区的大小?

时间:2015-01-14 14:08:37

标签: c++

我有来自文件的二进制数据然后我解压缩到缓冲区并指向这个缓冲区,所以在我读取数据块并将指针递增到我需要的下一个位置之后。那么,从指针位置确定未压缩缓冲区中剩余的字节数的正确方法是什么,而不是所有未压缩缓冲区的大小。所以这里有一个简单的例子描述我的意思以及我现在如何做到这一点:

#include <iostream>
using namespace std;

char FilBuff[] =
{
  0x11,
  0x02, 0x00, 0x00, 0x00,
  0x22,
  0xa0,
  0xa1, 0x3c, 0xa3, 0xa4,
  0xa5,
  0xa6, 0xa7, 0xa8, 0xa9,
  0xb0,
  0xb1, 0xb2, 0xb3, 0xb4,
  0xb5,
  0xb6, 0xb7, 0xb8, 0xb9,
};

int main() {
    cout << sizeof(FilBuff); //26 bytes
    char *p = FilBuff;
    p+=8;
    cout << (sizeof(FilBuff) + (FilBuff - p)); //18 bytes
    return 0;
}

是否有更好的方法或我可以使用这个?

0 个答案:

没有答案