c++ - 如何在 QByteArray 中找到两个无符号字符

标签 c++ qt qbytearray

我是 C++ 和 Qt 的新手。我正在尝试检查 QByteArray 是否连续两次显示某个无符号字符。不幸的是我无法做到。有谁知道如何解决这个问题?

QByteArray byteArray;
unsigned char start_stop = 0xFE;


if(byteArray.contains(start_stop))
{
//this one is working
}


if(byteArray.contains(start_stop+start_stop))
{
//This one not
}


if(byteArray.contains(start_stop, start_stop))
{
//This one not
}

最佳答案

我想这就是你要找的,找到字节数组中两个连续停止字符第一次出现的索引:

#include <QtCore/QByteArray>    
#include <iostream>

int main()
{
  const char stop{'b'};
  const QByteArray v{"abcdebbaacdea"};
  std::cout << v.indexOf(QByteArray(2, stop)) << '\n'; // outputs: 5
}

关于c++ - 如何在 QByteArray 中找到两个无符号字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58022759/

相关文章:

c++ - 对于指针 p,在极端情况下 p < p+1 可能为假吗?

c++ - C++对象构造方法的区别

c++ - 修复Qt Window大小和位置问题

c++ - 波普勒替代品

c++ - QSerialPort readLine() 与 readAll() 相比非常慢

c++ - 同时将多个十六进制数附加到 QByteArray

c++ - Http POST,使用Qt选择页面

c++ - 编译Qt的问题

c++ - Qt Creator 重构和 C++ 模板

qt - 读取不同 Qt 版本中 QSetting 写入的 QByteArray 设置。