C++中std::find_last_of的工作原理是什么?
- 内容介绍
- 相关推荐
本文共计248个文字,预计阅读时间需要1分钟。
cppstring s=I Like C++ Tutorial;int lastPos=s.find_last_of(Like);cout < string s = "I Like C++ Tutorial";
cout << s.find_last_of("Like");
我知道find_last_of返回匹配的最后一个字符,但是,它返回16,这是教程中字母i的位置,但我很困惑,因为我正在寻找最后一个位置,不是我,我试图从字符串中删除i.它按我的预期返回5.但问题是为什么它会返回16?
find_last_of查找最后一个字符,该字符等于给定字符序列中的一个字符.
字符序列是“喜欢”.最后一个L位于位置3,最后一个位于位置16,最后一个位于位置4,最后一个位于位置5.因此它返回16,这些值中最大的.
如果字符序列是“喜欢”而不是“喜欢”,它将返回18,因为最后一个l位于第18位.
如果字符序列中没有与字符串中的任何字母匹配的字母,则返回npos.
本文共计248个文字,预计阅读时间需要1分钟。
cppstring s=I Like C++ Tutorial;int lastPos=s.find_last_of(Like);cout < string s = "I Like C++ Tutorial";
cout << s.find_last_of("Like");
我知道find_last_of返回匹配的最后一个字符,但是,它返回16,这是教程中字母i的位置,但我很困惑,因为我正在寻找最后一个位置,不是我,我试图从字符串中删除i.它按我的预期返回5.但问题是为什么它会返回16?
find_last_of查找最后一个字符,该字符等于给定字符序列中的一个字符.
字符序列是“喜欢”.最后一个L位于位置3,最后一个位于位置16,最后一个位于位置4,最后一个位于位置5.因此它返回16,这些值中最大的.
如果字符序列是“喜欢”而不是“喜欢”,它将返回18,因为最后一个l位于第18位.
如果字符序列中没有与字符串中的任何字母匹配的字母,则返回npos.

