QbyteArray数据分割

时间:2019-01-16 06:02:07

标签: c++ qt split qlist qbytearray

我有一个大小为n的数组。我想用y拆分此数组。它必须是x乘以y的大小的newarray。我需要像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];
    }

1 个答案:

答案 0 :(得分:0)

  

如何在qt中执行此操作(通过使用QList myarray)

重用您的名称( myarray 用于QList并不是很直观)

#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