QByteArrayMatcher Class

Die Klasse QByteArrayMatcher enthält eine Folge von Bytes, die schnell in einem Byte-Array abgeglichen werden können. Mehr...

Kopfzeile: #include <QByteArrayMatcher>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

Öffentliche Funktionen

QByteArrayMatcher()
QByteArrayMatcher(const QByteArray &pattern)
QByteArrayMatcher(const char *pattern, qsizetype length = -1)
(since 6.3) QByteArrayMatcher(QByteArrayView pattern)
QByteArrayMatcher(const QByteArrayMatcher &other)
~QByteArrayMatcher()
qsizetype indexIn(const char *str, qsizetype len, qsizetype from = 0) const
(since 6.3) qsizetype indexIn(QByteArrayView data, qsizetype from = 0) const
QByteArray pattern() const
void setPattern(const QByteArray &pattern)
QByteArrayMatcher &operator=(const QByteArrayMatcher &other)

Detaillierte Beschreibung

Diese Klasse ist nützlich, wenn Sie eine Sequenz von Bytes haben, die Sie wiederholt mit einigen Byte-Arrays abgleichen wollen (vielleicht in einer Schleife), oder wenn Sie nach der gleichen Sequenz von Bytes mehrmals im gleichen Byte-Array suchen wollen. Die Verwendung eines Matcher-Objekts und indexIn() ist schneller als der Abgleich eines einfachen QByteArray mit QByteArray::indexOf(), wenn ein wiederholter Abgleich stattfindet. Diese Klasse bietet keinen Vorteil, wenn Sie einmalige Byte-Array-Abgleiche durchführen.

Erstellen Sie den QByteArrayMatcher mit der QByteArray, nach der Sie suchen wollen. Rufen Sie dann indexIn() mit dem QByteArray auf, das Sie durchsuchen wollen.

Siehe auch QByteArray und QStringMatcher.

Dokumentation der Mitgliedsfunktionen

QByteArrayMatcher::QByteArrayMatcher()

Konstruiert einen leeren Byte-Array-Matcher, der auf nichts passt. Rufen Sie setPattern() auf, um ihm ein Muster zu geben, dem er entsprechen soll.

[explicit] QByteArrayMatcher::QByteArrayMatcher(const QByteArray &pattern)

Konstruiert einen Byte Array Matcher, der nach pattern sucht. Rufen Sie indexIn() auf, um eine Suche durchzuführen.

[explicit] QByteArrayMatcher::QByteArrayMatcher(const char *pattern, qsizetype length = -1)

Konstruiert einen Byte-Array-Matcher aus pattern. pattern hat die angegebene length. Rufen Sie indexIn() auf, um eine Suche durchzuführen.

Hinweis: Die Daten, auf die pattern verweist, müssen gültig bleiben, solange dieses Objekt verwendet wird.

[explicit, since 6.3] QByteArrayMatcher::QByteArrayMatcher(QByteArrayView pattern)

Dies ist eine überladene Funktion.

Konstruiert einen Byte Array Matcher, der nach pattern sucht. Rufen Sie indexIn() auf, um eine Suche durchzuführen.

Hinweis: Die Daten, auf die pattern verweist, müssen gültig bleiben, solange dieses Objekt verwendet wird.

Diese Funktion wurde in Qt 6.3 eingeführt.

QByteArrayMatcher::QByteArrayMatcher(const QByteArrayMatcher &other)

Kopiert den other Byte Array Matcher in diesen Byte Array Matcher.

[noexcept] QByteArrayMatcher::~QByteArrayMatcher()

Zerstört den Byte Array Matcher.

qsizetype QByteArrayMatcher::indexIn(const char *str, qsizetype len, qsizetype from = 0) const

Durchsucht die Zeichenkette str, die die Länge len hat, ab der Byte-Position from (Standardwert 0, d. h. ab dem ersten Byte) nach dem Byte-Array pattern(), das im Konstruktor oder im letzten Aufruf von setPattern() gesetzt wurde. Gibt die Position zurück, an der pattern() in str übereinstimmte, oder -1, wenn keine Übereinstimmung gefunden wurde.

[since 6.3] qsizetype QByteArrayMatcher::indexIn(QByteArrayView data, qsizetype from = 0) const

Dies ist eine überladene Funktion.

Durchsucht das Byte-Array data ab der Byte-Position from (Standardwert 0, d. h. ab dem ersten Byte) nach dem Byte-Array pattern(), das im Konstruktor oder im letzten Aufruf von setPattern() gesetzt wurde. Gibt die Position zurück, an der pattern() in data übereinstimmte, oder -1, wenn keine Übereinstimmung gefunden wurde.

Diese Funktion wurde in Qt 6.3 eingeführt.

QByteArray QByteArrayMatcher::pattern() const

Gibt das Byte-Array-Muster zurück, nach dem dieser Byte-Array-Matcher suchen wird.

Siehe auch setPattern().

void QByteArrayMatcher::setPattern(const QByteArray &pattern)

Setzt das Byte-Array, nach dem dieser Byte-Array-Matcher suchen soll, auf pattern.

Siehe auch pattern() und indexIn().

QByteArrayMatcher &QByteArrayMatcher::operator=(const QByteArrayMatcher &other)

Weist den other byte array matcher diesem byte array matcher zu.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.