跳到正文
信奥逐课

第 100 课

find

🟢 入门 约 5 分钟

一句话理解

find 在字符串里查找子串,找到返回起始下标,找不到返回 npos。

为什么要学

判断是否包含某段文字。

讲解

s.find("ab")。找到最小的起始位置。

必须和 string::npos 比较判断失败,不要和 -1 乱比(类型是无符号)。

s.find(t, pos) 从 pos 开始找,可用来找下一次出现。

例子

string s = "abac";
auto p = s.find("ba");
cout << p;

输出:

1

ba 从下标 1 开始。

常见错误

练习 做完再看下一课

找不到时,find 返回?

在线练习 C++ 在浏览器里编译,代码不会上传

Ctrl / ⌘ + Enter 运行 · Tab 缩进

输出
 

进度保存在本机浏览器里。

左右方向键也可翻课