我有一个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

10-04 10:00