Qt-如何编辑QByteArray长度和包含?

Qt-如何编辑QByteArray长度和包含?,qt,Qt,我有一个QByteArray像这样: // read file QFile file("e:/test/test.dat"); if(!file.open(QIODevice::ReadOnly))return; QByteArray ba = file.readAll(); std::vector<QByteArray> parts; static const int size = 100200; assert(ba.size() >= size * 8); // Mak

我有一个QByteArray像这样:

// read file
QFile file("e:/test/test.dat");
if(!file.open(QIODevice::ReadOnly))return;

QByteArray ba = file.readAll();
std::vector<QByteArray> parts;
static const int size = 100200;
assert(ba.size() >= size * 8); // Make sure you have enough bytes.

for (int i = 0; i < 8; ++i) {
    parts.emplace_back(ba.mid(i * size, size));
}
现在我想把ba变量分成8部分。每个零件都必须有一定的尺寸。例如100200字节。如何做到这一点


对不起,我说的是英语

您可以像这样拆分字节数组:

// read file
QFile file("e:/test/test.dat");
if(!file.open(QIODevice::ReadOnly))return;

QByteArray ba = file.readAll();
std::vector<QByteArray> parts;
static const int size = 100200;
assert(ba.size() >= size * 8); // Make sure you have enough bytes.

for (int i = 0; i < 8; ++i) {
    parts.emplace_back(ba.mid(i * size, size));
}
std::向量部分;
静态常数int size=100200;
断言(ba.size()>=size*8);//确保有足够的字节。
对于(int i=0;i<8;++i){
零件。背面安放(ba.mid(i*尺寸,尺寸));
}

您可以使用
QByteArray::mid()
函数。例如:
autoba0=ba.mid(010200)
将创建第一个部分。如果我想将文件varibale划分为8个部分(从开始到结束的长度)并保存在ba varibale中,我可以使用QByteArray::mid()?我认为
#include
应该会有所帮助。