C 中的find函式

2021-10-03 14:50:52 字數 1310 閱讀 8934

我們在c++中使用的find函式一般都是algorithm庫裡面提供的或者

是stl容器裡面的find函式。今天就來總結一下他們的使用與區別

1. 容器裡面的find函式

stl裡面容器除了vector其他常見的容器都有自己實現成員函式find,例如string中的find函式,string的find()函式用於找出字母在字串中的位置。

函式原型如下:

//(1)

size_type find (

const basic_string& str, size_type pos =0)

const noexcept;

//(2)

size_type find (

const chart* s, size_type pos =0)

const

;//(3)

size_type find (

const chart* s, size_type pos, size_type n)

const

;//(4)

size_type find (chart c, size_type pos =0)

const noexcept;

(1)(2)(4)的兩個引數:

第乙個引數就是你要查詢的元素,第二個引數就是字串中的某個位置,表示從從這個位置開始的字串中找指定元素。(如果不填這個引數也是可以的,預設從字串的首位置開始找)

對於(3)的三個引數:取第乙個引數的前n(第三個引數)個字元(相當於擷取了s的前n個字元)第二個引數就是指明從哪個位置開始找。

返回值:若查詢成功,返回按查詢規則找到的第乙個字元或子串的位置;若查詢失敗,返回npos,即-1(列印出來為4294967295)。

2. 演算法裡面的find函式

演算法庫裡面的查詢功能的相關函式

它是在範圍內尋找元素,它返回乙個迭代器,該迭代器[first,last)比較等於val的範圍內的第乙個元素。找到返回的是該元素的迭代器,如果找不到這樣的元素,則函式返回last(就是個迭代器)。該函式實現原理就是用operator==將各個元素與val進行比較。具體實現如下:

template

inputiterator find (inputiterator first, inputiterator last,

const t& val)

return last;

}

c 中find函式的用法

1,返回字元 字串 在原來字串的中首次出現的下標位置 例 string s 1a2b3c4d5e6f7g8h9i1a2b3c4d5e6f7g8ha9i position s.find jk 2,返回flag 中任意字元 在s 中第一次出現的下標位置 flag c position s.find fi...

c 中find函式的用法

find函式主要實現的是在容器內查詢指定的元素,並且這個元素必須是基本資料型別的。查詢成功返回乙個指向指定元素的迭代器,即元素在容器中的下標,查詢失敗返回end迭代器。標頭檔案 include 函式實現 templateinputiterator find inputiterator first,i...

c 中find函式解析

總述 以下所講的所有的string查詢函式,都有唯一的返回型別,那就是size type,即乙個無符號整數 按列印出來的算 若查詢成功,返回按查詢規則找到的第乙個字元或子串的位置 若查詢失敗,返回npos,即 1 列印出來為4294967295 1.fine 原型 string 1 size typ...