rfind 的查詢區間

2021-08-20 09:35:21 字數 1457 閱讀 2825

string中的find函式與rfind函式定義如下:

int find(char c, int pos = 0) const;//從pos開始查詢字元c在當前字串的位置

int find(const char *s, int pos = 0) const;//從pos開始查詢字串s在當前串中的位置

int find(const char *s, int pos, int n) const;//從pos開始查詢字串s中前n個字元在當前串中的位置

int find(const string &s, int pos = 0) const;//從pos開始查詢字串s在當前串中的位置

//查詢成功時返回所在位置,失敗返回string::npos的值 

int rfind(char c, int pos = npos) const;//從pos開始從後向前查詢字元c在當前串中的位置

int rfind(const char *s, int pos = npos) const;

int rfind(const char *s, int pos, int n = npos) const;

int rfind(const string &s,int pos = npos) const;

在實際的程式實現中,rfind的查詢截止值並不是pos,而是pos+strlen(c)-1。

[cpp]view plain

copy

print?

#include

using

namespace std;  

int main()  

#includeusing namespace std;

int main()

/*string (1)*/      size_t rfind (const

string& s, size_t pos = npos) const

noexcept;

/*c-string (2)*/ size_t rfind (const

char* s, size_t pos = npos) const;

/*buffer (3)*/ size_t rfind (const

char* s, size_t pos, size_t n) const;

/*character (4)*/ size_t rfind (char s, size_t pos = npos) const

noexcept;

上述中的pos引數表示反向查詢的區間為[0, pos],但是實際上rfind使用的查詢區間是[0, pos + s.size() - 1],當pos < 0的時候等效於pos == npos

mysql區間查詢 MySQL區間分組查詢

假設a表為會員資訊表,需要統計男性會員年齡各階段的出現的人數 create table a id int 11 unsigned not null auto increment,name varchar 255 not null default comment 會員名稱 tinyint 1 unsi...

sql查詢 範圍查詢(區間查詢)

1 範圍查詢 區間查詢 2 in 3 查詢年齡為18,28,38的人 select from student where age 18 or age 28 or age 38 4 select from student where age in 18,28,38 5 not in6 查詢年齡為18,...

區間修改 區間查詢模板

如題,已知乙個數列,你需要進行下面兩種操作 1.將某區間每乙個數加上x 2.求出某區間每乙個數的和 第一行包含兩個整數n m,分別表示該數列數字的個數和操作的總個數。第二行包含n個用空格分隔的整數,其中第i個數字表示數列第i項的初始值。接下來m行每行包含3或4個整數,表示乙個操作,具體如下 操作1 ...