zoukankan      html  css  js  c++  java
  • 如何使用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的下标;

  • 相关阅读:
    第十一周上机练习
    JAVA第十周上机练习
    JAVA第九周上机练习
    JAVA第八周作业
    JAVA第八周上机作业
    JAVA第七周作业
    Java第七周上机练习
    Java第六周作业
    JAVA第六周上机练习
    34-指针与二维数组
  • 原文地址:https://www.cnblogs.com/Luweir/p/14162667.html
Copyright © 2011-2022 走看看