QByteArrayMatcher 类

The QByteArrayMatcher class holds a sequence of bytes that can be quickly matched in a byte array. More...

头文件 #include <QByteArrayMatcher>
CMakefind_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmakeQT += core

公共函数

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

详细描述

This class is useful when you have a sequence of bytes that you want to repeatedly match against some byte arrays (perhaps in a loop), or when you want to search for the same sequence of bytes multiple times in the same byte array. Using a matcher object and indexIn() is faster than matching a plain QByteArray with QByteArray::indexOf() if repeated matching takes place. This class offers no benefit if you are doing one-off byte array matches.

Create the QByteArrayMatcher with the QByteArray you want to search for. Then call indexIn() on the QByteArray that you want to search.

See also QByteArray and QStringMatcher.

成员函数说明

QByteArrayMatcher::QByteArrayMatcher()

构造一个空的字节序列匹配器,它不会匹配任何内容。使用 setPattern() 为其设置一个字符串模式。

[显式构造函数] QByteArrayMatcher::QByteArrayMatcher(const QByteArray &pattern)

使用要搜索的模式构造字节序列匹配器。然后调用 indexIn() 进行搜索。

[自 6.3 起明确指出] QByteArrayMatcher::QByteArrayMatcher(QByteArrayView pattern)

这是一个重载函数。

使用要搜索的模式构造字节序列匹配器。然后调用 indexIn() 进行搜索。

注意:在使用此对象期间,pattern所引用的数据必须保持有效。

此函数是在 Qt 6.3 中引入的。

[明确指出] QByteArrayMatcher::QByteArrayMatcher(const char *pattern, qsizetype length = -1)

pattern构建一个字节数组匹配器。 pattern的长度是给定的。调用indexIn()以执行搜索。

注意:在使用此对象期间,pattern所引用的数据必须保持有效。

QByteArrayMatcher::QByteArrayMatcher(const QByteArrayMatcher &other)

将其他字节数组匹配器复制到此字节数组匹配器中。

[非异常抛出] QByteArrayMatcher::~QByteArrayMatcher()

销毁字节数组匹配器。

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

在长度为len的字符字符串str中,从字节位置from(默认为0,即第一个字节)开始搜索构造函数或最近的setPattern()调用中设置的字节pattern()。如果找到匹配项,返回str中匹配项的位置,否则返回-1。

[自 6.3 起明确指出] qsizetype QByteArrayMatcher::indexIn(QByteArrayView data, qsizetype from = 0) const

这是一个重载函数。

在从字节位置from(默认为0,即第一个字节)开始的字节数组data中搜索构造函数或最近的调用中设置的字节setPattern()中设置的pattern()。如果找到匹配项,返回data中匹配项的位置,否则返回-1。

此函数是在 Qt 6.3 中引入的。

QByteArray QByteArrayMatcher::pattern() const

返回此字节数组匹配器将要搜索的字节pattern()。

另请参阅:setPattern()。

void QByteArrayMatcher::setPattern(const QByteArray &pattern)

将此字节数组匹配器将要搜索的字节pattern()设置为pattern

另请参阅:pattern()和indexIn()。

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

将其他字节数组匹配器分配给此字节数组匹配器。

© 2024 Qt公司有限公司。本文件中的文档贡献属于其各自的版权所有者。本文件中的文档依据自由软件基金会发布的GNU自由文档许可版本1.3的条款进行许可。Qt及其相关徽标是芬兰和/或其他国家和地区的Qt公司有限公司的商标。所有其他商标均为其各自所有者的财产。