c++ 如何缓存传入数据,并每次从中取出指定大小的数据

假如用户每次给我传入1000大小的数据,直到传入0表示截止,我需要把它缓存起来,然后每次去读取800大小的数据去使用,该如何存贮和读取?

如果是先到的数据先读取,用Queue

#include <array>
#include <iostream>
#include <queue>
using namespace std;

int main() {
  queue<array<char, 1000>> data;
  //读取
  auto data1 = data.front();
  data.pop();
  string b(data1.begin(), data1.begin() + 800); // 800个数据
  // 写入
  array<char, 1000> dd;
  data.push(dd);
}