QbyteArray 数据拆分

QbyteArray data split

本文关键字:拆分 数据 QbyteArray      更新时间:2023-10-16

我有一个大小为 n 的数组。我想拆分这个大小为 y 的数组。它必须是 x 乘以新数组,大小为 y。我需要像myarray[x][y]这样的多维数组.输出需要myarray[0][0...y],myarray[1][0...y],....myarray[x][0...y]。如何在qt(通过使用QList<QByteArray> myarray)或其他解决方案中做到这一点?例如

    for (int i = 0; i < y; i++)
    {
        myarray[i] = array[i];
    }

如何在 qt 中做到这一点(通过使用 QList myarray)

重用你的名字(QList 的 myarray 不是很直观)

#include <QList>
#include <QByteArray>
#include <iostream>
void split(const QByteArray & a, 
           QList<QByteArray> & l,
           int n)
{  
  for (int i = 0; i < a.size(); i += n)
    l.push_back(a.mid(i, n));
}
int main()
{
  QByteArray array("azertyuiop");
  QList<QByteArray> myarray;
  split(array, myarray, 3);
  for (QList<QByteArray>::const_iterator itl = myarray.constBegin();
       itl != myarray.constEnd();
       ++itl) {
    const QByteArray & a = *itl;
    for (QByteArray::const_iterator ita = a.constBegin();
       ita != a.constEnd();
       ++ita) {
      std::cout << *ita << ' ';
    }
    std::cout << std::endl;
  }
  return 0;
}

执行结果:

a z e 
r t y 
u i o 
p