Suche Hex-substring in string
Nun, ich habe einen socket, der erhält binäre Daten und ich habe die Daten in einen string mit Werten und Zeichenketten-Werte zu. (zum Beispiel "0x04,h,o,m,e,....")
Wie kann ich die Suche für ein hex-substring in string?
I. e. ich will zu suchen", 0x02,0x00,0x01,0x04".
Bitte ich um eine c++ - version von python 'fooString.finden("\x02\x00\x01\x04")'
Danke an alle 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gute Dokumentation für string ist hier:
http://www.sgi.com/tech/stl/basic_string.html
Hex-Token übergeben werden, genau wie Python (Wo glaubst du, Python bekam die syntax aus).
Das Zeichen \x?? ist eine einzelne hex-Zeichen.
Gibt es eine Menge von Optionen in c++ - String-Objekt , Wie
finden Inhalt Suchen string (öffentliche member-Funktion)
rfind Finden die letzten vorkommen von Inhalten string (öffentliche member-Funktion)
find_first_of Finden Zeichen im string (öffentliche member-Funktion)
find_last_of Finden Zeichen in der Zeichenfolge aus dem Ende (öffentliche member-Funktion)
find_first_not_of Finden Abwesenheit von Zeichen in string
find_last_not_of Finden Abwesenheit von Zeichen in der Zeichenfolge aus dem Ende (öffentliche member-Funktion)
http://www.cplusplus.com/reference/string/string/
Gehen Sie auf oben genannten link und sehen, welche zu Ihnen passt
Vielleicht können Sie versuchen, strstr() oder eine Verwandte Funktion. Oder Sie können etwas wie strtok zu greifen, die Werte zwischen Ihre Trennzeichen und decodieren selbst.
Probieren Sie etwas wie dieses:
Nur daran erinnern,
0x00
null ist, d.h. Ende der Zeichenkette. Also, wenn Ihre Hand oder Ihre Suche, die Sie enthält, werden Sie nicht finden, was Sie suchen, weilstrstr
halt bei der ersten null.