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


    今天在刷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的下标;

  • 相关阅读:
    vmware导出为ovf
    华三接入交换机推荐
    mysql root情况
    ospf精确宣告地址
    kubernetes k8s yum localinstall
    js判断邮箱、用户名、手机号码和电话号码是否输入正确?
    如何修改Oracle中表的字段长度?
    mybatis与hibernate区别
    SSM框架的优势?
    SSH框架的优势?
  • 原文地址:https://www.cnblogs.com/Luweir/p/14162667.html
Copyright © 2020-2023  润新知