查找`QByteArray`中几个字符串中的任何一个的第一个出现

时间:2016-12-01 17:04:45

标签: qt qbytearray

我有一个QByteArray和一些字符串。我想找到任何这些字符串的第一个出现,但没有一种方法。

目前我使用了一些indexOf,但这一定是无效的,因为我想在第一次出现时停下来。

QByteArray也有二进制数据,因此我认为我不应将其转换为QString,而QByteArray没有QRegExp

我有什么ATM:

    int pos  = buffer.indexOf("$G");
    int pos2 = buffer.indexOf("XB00");
    pos = pos == -1? pos2 : std::min(pos, pos2);
    pos2 = buffer.indexOf("XA00");
    pos = pos == -1? pos2 : std::min(pos, pos2);

    buffer.remove(0,pos-1);

qt5Qt的{​​{1}}在幕后使用qbytearraymatcher.cpp

0 个答案:

没有答案