qbytearray in passende häppchen aufteilen

Alles rund um die Programmierung mit Qt
Antworten
CaptnChaos
Beiträge: 605
Registriert: 28. Juni 2007 15:01
Kontaktdaten:

qbytearray in passende häppchen aufteilen

Beitrag von CaptnChaos »

Hi!
Ich steh grad aufm sclauch....
ich muss einen qbytearray, den ich per udp versenden möchte, in kleiner häppchen von 8kb aufteilen.
ich wollte das über einen QByteArray-Array machen, aber iwie klappt das nicht so recht... ich bekomme immer einen core-dump
das ist mein code:

Code: Alles auswählen

QByteArray data = udpPackage;
	QByteArray dataArray[(int)ceil(data.size()/32)+1];
	for(int i = 0; i < ceil(data.size()/32)+1; ++i)
	{
		dataArray[i] = data.mid(i*32,32);
	}
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Dann wird mal deinen Debugger an und sieh dir mal an, welchen Wert 'i' hat, wenn die Schleife das letzte mal durchlaufen wird.
CaptnChaos
Beiträge: 605
Registriert: 28. Juni 2007 15:01
Kontaktdaten:

Beitrag von CaptnChaos »

hab keinen debugger..........
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Dann leg dir einen zu, ohne wirst Du nicht glücklich.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

ceil() - das ist ja lustig... hast Du nicht noch ein paar mathematische Funktionen für Fliesskommazahlen die Du verwenden kannst ? :lol:

Wie wärs mit was einfachem wie

Code: Alles auswählen

int i = 0;
QVector<QByteArray> vBa;
while(i < udpPackage.size() - 32) {
  vBa.append(udpPackage.mid(i, 32);
  i += 32;
}
vBa.append(udpPackage.mid(i);
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten