我有一个大小为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];
}
答案 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