Разделение данных QbyteArray - PullRequest
       42

Разделение данных QbyteArray

0 голосов
/ 16 января 2019

У меня есть массив размером n. Я хочу разделить этот массив с размером у. Это должно быть x раз newarray с размером 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];
    }

1 Ответ

0 голосов
/ 16 января 2019

Как я могу сделать это в 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 
...