C/C++字符串查找函數(shù)全面了解
C/C++ string庫(kù)(string.h)提供了幾個(gè)字符串查找函數(shù),如下:
memchr 在指定內(nèi)存里定位給定字符
strchr 在指定字符串里定位給定字符
strcspn 返回在字符串str1里找到字符串str2里的任意一個(gè)字符之前已查找的字符數(shù)量
strrchr 在字符串里定位給定字符最后一次出現(xiàn)的位置
strpbrk 在字符串str1里定位字符串str2里任意一個(gè)首次出現(xiàn)的字符
strspn 返回字符串str1從開(kāi)始字符到第一個(gè)不在str2中的字符個(gè)數(shù)
strstr 在字符串str1中定位字符串str2首次出現(xiàn)的位置
函數(shù)說(shuō)明:
1、memchr
原型:const void * memchr ( const void * ptr, int value, size_t num);
void * memchr ( void * ptr, int value, size_t num);
參數(shù):ptr,待查找的內(nèi)存指針;
value,要查找的值;
num,內(nèi)存大小。
說(shuō)明:在ptr指向的內(nèi)存中查找value,返回指向和value首次匹配的元素指針,如果沒(méi)有找到,返回NULL指針。
2、strchr
原型:const char * strchr ( const char * str, int character);
char * strchr ( char * str, int character);
參數(shù):str,待查找字符串指針;
character,要查找的值。
說(shuō)明:在字符串str中查找character,返回指向和character首次匹配的元素指針,如果沒(méi)有找到,返回NULL指針。
3、strcspn
原型:size_t strcspn ( const char * str1, const char * str2);
參數(shù):str1,待查找的字符串指針;
str2,要查找的字符串指針。
說(shuō)明:在str1中查找str2中的字符,返回找到str2中任意一個(gè)字符時(shí)已查找的字符個(gè)數(shù)。
4、strrchr
原型:const char * strrchr ( const char * str, int character);
char * strrchr ( char * str, int character);
參數(shù):str,待查找的字符串指針;
character,要查找的值。
說(shuō)明:在str中查找character,返回指向與character最后一次匹配的元素的指針,如果沒(méi)有找到,返回NULL指針。
5、strpbrk
原型:const char * strpbrk (const char * str1, const char * str2);
char * strpbrk ( char * str1, const char * str2);
參數(shù):在str1中查找str2中任意一個(gè)字符,返回指向與首次出現(xiàn)的str2中的任意一個(gè)字符匹配的元素的指針,如果沒(méi)有找到,返回NULL指針。
6、strspn
原型:size_t strspn ( const char * str1, const char * str2);
參數(shù):str1,待查找的字符串指針;
str2,要查找的字符串指針。
說(shuō)明:從str1的第一個(gè)字符開(kāi)始算起,直到出現(xiàn)一個(gè)不在str2中的字符為止,返回字符個(gè)數(shù)。
7、strstr
原型:const char * strstr ( const char * str1, cosnt char *str2);
char * strstr ( char * str1, const char * str2);
參數(shù):str1,待查找的字符串指針;
str2,要查找的字符串指針。
說(shuō)明:在str1中查找匹配str2的子串,并返回指向首次匹配時(shí)的第一個(gè)元素指針。如果沒(méi)有找到,返回NULL指針。
以上這篇C/C++字符串查找函數(shù)全面了解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C++數(shù)據(jù)精度問(wèn)題(對(duì)浮點(diǎn)數(shù)保存指定位小數(shù))
這篇文章主要介紹了對(duì)浮點(diǎn)數(shù)保存指定位小數(shù)。比如, 1.123456. 要保存1位小數(shù),,調(diào)用方法后, 保存的結(jié)果為: 1.1。 再比如,1.98765, 保存2位小數(shù)的結(jié)果為: 2.00,需要的朋友可以參考下2017-08-08C++11中的智能指針shared_ptr、weak_ptr源碼解析
本文是基于gcc-4.9.0的源代碼進(jìn)行分析,shared_ptr和weak_ptr是C++11才加入標(biāo)準(zhǔn)的,僅對(duì)C++智能指針shared_ptr、weak_ptr源碼進(jìn)行解析,需要讀者有一定的C++基礎(chǔ)并且對(duì)智能指針有所了解2021-09-09純C語(yǔ)言:遞歸二進(jìn)制轉(zhuǎn)十進(jìn)制源碼分享
這篇文章主要介紹了純C語(yǔ)言:遞歸二進(jìn)制轉(zhuǎn)十進(jìn)制源碼,有需要的朋友可以參考一下2014-01-01C++實(shí)現(xiàn)多源最短路徑之Floyd算法示例
這篇文章主要介紹了C++實(shí)現(xiàn)多源最短路徑之Floyd算法,結(jié)合實(shí)例形式分析了多源最短路徑之Floyd算法的原理、實(shí)現(xiàn)方法及核心代碼,需要的朋友可以參考下2017-08-08c++實(shí)現(xiàn)reactor高并發(fā)服務(wù)器的詳細(xì)教程
這篇文章主要介紹了c++從零實(shí)現(xiàn)reactor高并發(fā)服務(wù)器,包括環(huán)境準(zhǔn)備和基礎(chǔ)知識(shí)介紹,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-03-03C語(yǔ)言中g(shù)etchar函數(shù)詳解看這一篇就夠了(函數(shù)功能、使用、返回值)
getchar讀取字符的函數(shù),今天通過(guò)本文給大家介紹C語(yǔ)言中g(shù)etchar函數(shù)簡(jiǎn)介用法示例詳解,感興趣的朋友跟隨小編一起看看吧2023-02-02如何用C++制作LeetCode刷題小技巧-錯(cuò)題記錄本
這篇文章主要介紹了如何用C++制作LeetCode刷題小技巧-錯(cuò)題記錄本的方法,需要的朋友可以參考下2021-04-04