首页 > 编程语言 > 详细

如何使用C++中String的find函数

时间:2020-12-20 10:36:12      阅读:56      评论:0      收藏:0      [点我收藏+]

今天在刷Leetcode每日一题时,用到了stringfind函数,但因为第一次使用,缺乏经验,导致我出现了下面的错误:
技术分享图片
我试图在字符串res中找字母c,如果找不到,就进入if语句,然后程序一直得不到正确结果,我就加了断点进行调试;
后来在网上搜在了解到find函数是如何使用的;

函数原型

std::allocator<char>>::size_type find(char __c, std::size_t __pos = 0ULL) const

  • __c是待查找的字母;
  • __pos是你想要从字符串的哪个位置(索引)开始查找,默认从字符串开头开始(即索引0);

如何使用

尤其注意它的返回类型std::allocator<char>>::size_type,它并不是一个我们常见的类型,我们通常使用xxx.find(c) == xxx.end()或者!xxx.find(c)来判断元素c是否在xxx中;而这里明显不是;
stringfind()返回值是字母在母串中的位置(下标索引),如果没有找到,那么会返回一个特别的标记npos(返回值可以看成是一个int型的数),而这个npos是字符串一个自带的成员变量

所以,如果我们要使用find()函数判断字符c是否在字符串s中,可以if(s.find(c)==s.npos),如果等于,说明没找到,否则返回c的下标;

如何使用C++中String的find函数

原文:https://www.cnblogs.com/Luweir/p/14162667.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!