int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QString t = "abcde"; QByteArray test= t.toLatin1(); qDebug() << test; qDebug() << QString(swapBytes(test,0,3)); return a.exec(); } QByteArray swapBytes(QByteArray in, int swapOffset, int quantity) { if (swapOffset < 0) { return in; } if(quantity>(in.length()/2)) {quantity=in.length()/2;} if(quantity < 1) {quantity=1;} int k; char buf[quantity]; char buf2[quantity]; memset(buf, 'z', quantity); memset(buf2, 'z', quantity); qDebug() << quantity; for (int i = 0; i + quantity*2 + swapOffset <= in.length(); i=i+2*quantity) { k=i; for(int b = 0;b<quantity;b++){ buf[b]=in.at(k); buf2[b]=in.at(k+swapOffset+quantity); k++; } qDebug() << buf; qDebug() << sizeof(buf); qDebug() << (int)buf[1]; qDebug() << buf2; qDebug() << in; in.replace(i,quantity,buf2); qDebug() << in; in.replace(i+quantity+swapOffset,quantity,buf); } return in; }}
C++ (Qt)char buf[ len ];
QByteArray swapBytes(QByteArray in, ...
std::vector swapBytes(std::vector in, ...
C++ (Qt)void MyFunc( const Container & c ...) // это не вызывает никаких вопросов void MyFunc( Container c ...) // а что это ?? Так задумано, или описАлся ??