子串可重叠情况:

int fun1(const std::string& str, const std::string& sub){
  int num = 0;
  for (size_t i = 0;
     (i = str.find(sub, i)) != std::string::npos;
     num++, i++);
  return num;
}

子串不可重叠情况:

int fun2(const std::string& str, const std::string& sub){
  int num = 0;
  size_t len = sub.length();
  if (len == 0)len=1;//应付空子串调用
  for (size_t i=0;
    (i=str.find(sub,i)) != std::string::npos;
    num++, i+=len);
  return num;
}

最新文章

  1. JAVA程序员常用软件整理下载
  2. CSS编写技巧
  3. 浅谈java抽象类和接口
  4. [moka同学笔记]MySql语句整理
  5. selector 和 shape结合使用
  6. "provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接"错误的解决方法
  7. 51nod1009(1的数目)
  8. MobilePhone正则表达式
  9. C#入门经典(第五版)学习笔记(二)
  10. [置顶] .net技术类面试、笔试题汇总3
  11. hibernate集合映射inverse和cascade详解
  12. access数据库 top语句失效解决方法
  13. MyEclipse2016添加外部的maven插件
  14. 如何把本地项目上传到Github
  15. vue-创建新项目
  16. Matplotlib-动画
  17. undo丢失恢复异常恢复,运维DBA反映Oracle数据库无法启动报错ORA-01157 ORA-01110,分析原因为Oracle数据库坏块导致
  18. 用PHP的curl实现并发请求远程文件(并发抓取远程网页)
  19. [No0000160]常用C# 正则表达式大全
  20. spring 事务回滚。

热门文章

  1. 02.快捷键及基本dos命令
  2. Linux系统管理——Linux安装
  3. Memory layout
  4. MATLAB作图之二
  5. Spark文档阅读之一:Spark Overview
  6. 【JMeter_17】JMeter逻辑控制器__随机顺序控制器<Random Order Controller>
  7. 在windows上安装docker
  8. opencv3.1.0 计算机中丢失 opencv_world310d.dll _vs2017解决方法
  9. vs2017离线包下载获取方法
  10. JMeter+Grafana+Influxdb搭建可视化性能测试监控平台(使用了docker)