我有一个std:string。我想以十六进制找到模式“0x789c”。
根据stackoverflow中的另一个线程,我已经这样做了:
int nPosD = buffer.find("\x78\x9C");
并尝试
int nPosD = buffer.find(std::string("\x78\x9C"),2);
没有成功!返回值为-1!我的模式0x789c在我的字符串中!我已经用HexEdit软件对其进行了测试。
有人对此有想法吗?
非常感谢 :)
最好的祝福,
最佳答案
int nPosD = buffer.find(std::string("\x78\x9C"),2);
将从缓冲区的第三个字符(偏移量2)开始查找字符串“\ x78 \ x9c”。如果它在那时或之后没有出现,它将返回-1。如果要从头开始搜索整个字符串,请摆脱
2