string::find_last_of

今天在代码中用到string的这个方法,一不小心就用错了。

这是http://www.cplusplus.com/关于这个方法的解释。

Find character in string from the end

Searches the string for the last character that matches any of the characters specified in its arguments.

When pos is specified, the search only includes characters at or before position pos, ignoring any possible occurrences after pos.

这里解释说:在指定的字符串中搜索最靠后的任意匹配的字符或者字符串,如果指定了pos,那么搜索范围只会在pos之前以及pos处的字符,不会考虑之后的字符。



我就错了这个地方,我以为搜索不会搜索pos处的字符呢

要小心这些细节处的东西,否则会让你很难受呢,感觉自己代码写对了,但是结果就是不对,主要还是对C++库的使用不熟练。

时间: 2024-12-25 01:03:25

string::find_last_of的相关文章

string find_last_of 用法

int find_first_of(char c, int start = 0):              查找字符串中第1个出现的c,由位置start开始.              如果有匹配,则返回匹配位置:否则,返回-1.默认情况下,start为0,函数搜索              整个字符串.                int find_last_of(char c):              查找字符串中最后一个出现的c.有匹配,则返回匹配位置:否则返回-1.       

凡人视角C++之string(下)

上篇文章中,我们着重引入了string类型,也谈及了string类型构造函数和赋值函数的应用,今天我们就来谈谈string类型对象可以利用哪些C++内置的函数.另外,文章有点长,如果大家想方便点,可以在目录里查找. Elaboration Iterators begin //string::begin iterator begin() noexcept; //返回默认的迭代器类型对象 const_iterator begin() const noexcept; //返回常量迭代器类型对象 beg

leetcode345——Reverse Vowels of a String(C++)

Write a function that takes a string as input and reverse only the vowels of a string. Example 1:Given s = "hello", return "holle". Example 2:Given s = "leetcode", return "leotcede". 个人博客:http://www.cnblogs.com/wdfw

关于string类中find函数的讲解

以下所讲的所有的string查找函数,都有唯一的返回类型,那就是size_type,即一个无符号整数(按打印出来的算).若查找成功,返回按查找规则找到的第一个字符或子串的位置:若查找失败,返回npos,即-1(打印出来为4294967295). (1)string::find函数 #include<iostream> #include<string> using namespace std; int main() { //测试size_type find (charT c, siz

c++中级 STL基础学习(二)

deque 和vector差不多,可以在前端后端插入,一般用deque取代vector,vector只能在后端插入push_back().deque还可以push_front(). list:双向链表,不能使用下标,和数组vector deque不同.只能使用迭代器,来指示元素.push_front,push_back,insert(位置,值),位置一般用迭代器来指定位置,其中insert返回的是一个迭代器.例如lis.insert(a.begin, 12);返回的是一个迭代器.删除使用eras

C++中字符数组和字符串string

字符数组 C++中字符数组用char str[]可以用来表示一个字符串. (1)   数组的大小和字符串的长度. 数组的大小一定要大于字符串的长度,因为系统会自动补上一个'\0'作为字符串的结束标志.当然对于未初始化的也补'\0'. #include <iostream> #include <string> using namespace std; int main() { char str[11] = "I am happy"; // 系统会自动补上'\0'空

C++ string 字符串查找匹配

在写C++程序中,总会遇到要从一个字符串中查找一小段子字符串的情况,对于在C中,我们经常用到strstr()或者strchr()这两种方法.而对于C++的string,我们往往会用到find(). C++:#inlcude<string>C: #include<string.h> find():在一个字符串中查找一个指定的单个字符或字符数组.如果找到,就返回首次匹配的开始位置:如果没有查找到匹配的内容,就返回string::npos.find_first_of():在一个目标串中进

String用法大全(转)

转自:http://blog.sina.com.cn/s/blog_9054a03601013d5d.html(虽然这个人也是转的...) 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要.我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?).我们尽可以把它看成是C++的基本数据类型. 首先,为了在我们的程

string Type

Notes from C++ Primer Operations Operations of string support lots of operations of sequential container. string s;          define a new empty string object, named s. string s(cp);    define a new string object, initialized by a C-style string point