You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++字符串按行输出及查找子串起始位置编程问题

C++ 字符串匹配下标查找实现

以下是补全逻辑后的完整可运行代码:

#include <iostream>
#include <string>

using namespace std;

int main() {
  string workString;
  string string2;
  int pos;

  getline(cin, workString);

  cin >> string2;

  // 核心逻辑:调用string自带的find方法直接获取匹配起始下标
  pos = workString.find(string2);

  cout << pos << endl;

  return 0;
}

逻辑说明

  • 读取逻辑:第一行用getline读取完整的第一个字符串,支持带空格的内容(适配示例中Fuzzy bear带空格的输入场景),第二行用cin读取第二个待匹配字符串
  • 匹配逻辑:C++std::string自带的find()方法会自动查找参数字符串在调用对象中第一次出现的起始下标,若找不到匹配内容会返回string::npos,转为int类型后值为-1,符合常规的未匹配返回逻辑
  • 示例验证:输入第一个字符串Fuzzy bear、第二个字符串zy时,find会返回下标3,和示例输出完全一致

内容的提问来源于stack exchange,提问作者Touhou_Cirno_Fumo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 13:57:03