【发布时间】:2018-10-03 12:47:23
【问题描述】:
有一些关于 std::string::find 的帖子(如 this one here 和 this one too)但我的情况有些不同:
#include <string>
#include <stdio.h>
int main(int argc, char **argv)
{
std::string haystack = "ab\\x10c\200\\x00\\x00\\x00\\x00";
std::string needle = "\\x00";
printf("first index is %d\n",(int) haystack.find(needle));
return 0;
}
根据值我想知道为什么返回 8:
我猜 "\200" 算作 1 个字符 (?)
我可以让find 也将"\\x10" 视为1 个字符吗?
【问题讨论】:
-
问题不清楚
-
haystack 和 needle 是如何定义的?你是如何初始化它们的?
-
@drorco,它们是发送给某个函数的参数......这一行来自函数体......
-
我已将示例修复为自包含且可重现