[gelöst] QByteArray durchsuchen

Alles rund um die Programmierung mit Qt
Antworten
depp153
Beiträge: 10
Registriert: 6. Januar 2009 02:22

[gelöst] QByteArray durchsuchen

Beitrag von depp153 »

Hi @ all


Ich habe ein kleines Testprogramm und lese von einem TCP-Socket mit ReadAll() Daten ein, welche als QByteArry geliefert werden.

Diese Daten speichere ich in einer Queue mittels enqueue und lese später die Daten in ein QByteArray wieder aus mit dequeue.
Ich bekomme vom Host übrigens nur Hex-Werte geliefert.

Nun zu meinem eigentlichen Problem...
ich muss diese Daten nach festen Werten durchsuchen und bekomme das einfach nicht hin...
Irgendwie fehlt mir die letzte Zündende Idee.

Ich suche nach folgendem Wert: 31 00 00 00 11 00 27 00 00 00

Ich hänge mal ein File an, damit ihr seht, was ich vom Socket bekomme, wenn ich das empfangene direkt in ein File schreibe.
-Mit nem Hexeditor öffnen. Dann sieht man irgendwo auch meinen gesuchten Wert.

Vielen Dank schon mal im Voraus...
Zuletzt geändert von depp153 am 16. September 2009 16:23, insgesamt 2-mal geändert.
depp153
Beiträge: 10
Registriert: 6. Januar 2009 02:22

File hochgeladen

Beitrag von depp153 »

Jetzt hab ich glatt vergessen den Knopf "Attachment hinzufügen" zu drücken...
Dateianhänge
temp.txt
(3.9 KiB) 154-mal heruntergeladen
Curtis Newton
Beiträge: 122
Registriert: 11. Juni 2008 18:39

Beitrag von Curtis Newton »

int QByteArray::count ( const QByteArray & ba ) const

und

QByteArray QByteArray::fromRawData ( const char * data, int size )

helfen nicht?

C.
chrislo1976
Beiträge: 105
Registriert: 24. Februar 2008 09:45

Beitrag von chrislo1976 »

...oder:

Code: Alles auswählen

int QByteArray::indexOf ( const QByteArray & ba, int from = 0 ) const
Returns the index position of the first occurrence of the byte array ba in this byte array, searching forward from index position from. Returns -1 if ba could not be found.
Christian
depp153
Beiträge: 10
Registriert: 6. Januar 2009 02:22

Danke

Beitrag von depp153 »

Das ::fromRawData hab ich doch glatt übersehen!!!
:oops:

das war mein "Durchbruch" :idea:

Vielen Dank!!!
Antworten