模擬實現strstr函式
strstr
函式簡介
函式原型:
char *strstr( const char *string, const char *strCharSet );
函式功能:搜尋一個字串在另一個字串中的第一次出現。
返回值:若strCharSet是string的子串,則返回strCharSet在string的首次出現的地址;如果strCharSet不是string的子串,則返回NULL。
程式碼例項:
char str[] = "1234xyz";
char *ret = strstr(str, "34");
cout << ret << endl;//輸出結果:34xyz
模擬實現
char* my_strstr(const char* string, const char* str)
{
assert(string);
assert(str);
char* str1 = (char*)string;
char* str2 = (char*)str;
char* ret = NULL;
if (*str2 == '\0')
return str1;
while (*str1)
{
ret = str1;
while ((*str1) && (*str2) && (*str1 == *str2))
{
str1++;
str2++;
}
if (*str2 == '\0')
{
return ret;
}
str1 = ret + 1;
str2 = (char*)str;
}
return NULL;
}
相關推薦
模擬實現strstr函式
strstr 函式簡介 函式原型: char *strstr( const char *string, const char *strCharSet ); 函式功能:搜尋一個字串在另一個
模擬實現strcpy、模擬實現strlen、模擬實現strstr函式
1.模擬實現strcpy(strcpy函式的功能是實現字串的複製) 方法一: 演算法思想:定義兩個指標變數dest、str,分別指向目的字串、原字串,只要str指向的內容不為\0,完成複製,返回目的字串的首地址 注意: (1)將原字串指標定義為 const型別(只讀,不可修
模擬實現strstr()函式
strstr (str1,str2)函式是用來判斷字串str2是否是字串str1的子字串的函式,如果是,則返回str2在str1中出現的首字元地址,否則返回null。#include<stdio
C語言:模擬實現字串函式strlen,strcpy,strcat,strcmp,strchr,strstr
什麼是C語言中的字串 字串或串(String)是由數字、字母、下劃線組成的一串字元。通常放在常量字串中或者字元陣列中。C語言中以 ‘\0’ 來作為字串的結束標記。 字元的ASCII編碼表 1.strlen 功能:字串求長 計算給定字串的(unsigned in
C語言模擬實現strstr函數,strrstr 函數
c語言 模擬實現 strstr strstr和strrstr已經算是字符串中相對比較難的了,但是只要我們善於分析,解剖字符串,就會化難為易。其實學習代碼的過程中需要我們靜下心來分析,理解。 srtstr函數的功能及用法 原型:char *strstr(const char *dst, const
模擬實現strcpy函式功能(優化改進)
strcpy函式,字串拷貝函式,傳入兩個引數,將第二個引數的值拷貝到第一個中去。 首先,給出一個普通的程式碼: #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> void
python實現strStr()函式
思路: 1、如果待查詢子串為空,返回0(與c/c++的庫函式保持一致); 2、如果大字串的長度小於待查詢子串的長度,返回-1; 3、計算需要編譯的字串下標位置:l = l1 - l2 + 1; 4、從下標0到下標l遍歷長字串,擷取與待查詢子串長度相同的子字串,判斷內容是否
(LeetCode每日一刷10)實現 strStr() 函式
題目描述: 給定一個 haystack 字串和一個 needle 字串,在 haystack 字串中找出 needle 字串出現的第一個位置 (從0開始)。如果不存在,則返回 -1。 示例: 示例 1: 輸入: haystack =
【Leetcode】實現strStr()函式。
Leetcode 題目如下 實現strStr()函式 要求:給定一個haystack字串和一個needle字串,在haystack字串中找出needle字串出現的第一個位置(從0開始)。 如果不存在,則返回-1 示例1. 輸入:haystack = “hello”, need
模擬實現strlen函式
目錄 方式1(遞迴) 方式2(迴圈) 方式3(指標運算) 正文 方式1(遞迴) int my_strlen1(char *str) { if (*str == '\0') {
[LeetCode] 28. 實現 strStr() 函式 —— javascript
28. 實現 strStr() 函式。 給定一個 haystack 字串和一個 needle 字串,在 haystack 字串中找出 needle 字串出現的第一個位置 (從0開始)。如果不存在,則返回 -1。 var strStr = function(h
模擬實現strcmp函式
strcmp int strcmp ( const char * str1, const char * str2 ); Compare two strings Compares the C string str1 to the C string str2. This f
C語言模擬實現庫函式strlen的三種方法
學習之路無止境,漫漫長夜,我愛程式設計。 今天練習的是用C語言來簡單實現庫函式strlen。 首先strlen 函式的作用是求出字串長度,眾所周知,在C語言中,字串是以字串陣列的形式儲存的,並且以’\0’為結束標誌。先讓我們看看strlen庫函式的引數即返回值
第五題:實現strStr()函式
問題描述 實現 strStr() 函式。 給定一個 haystack 字串和一個 needle 字串,在 haystack 字串中找出 needle 字串出現的第一個位置 (從0開始)。如果不存在,則返回 -1。 示例 1: 輸入: haystack = “hello”, n
模擬實現strchr函式
程式碼: #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #include<
模擬實現庫函式strchr、strrchr、memchr
①strchr函式【函式原型】:char* strchr(constchar* string,int c);【函式功能】:在一個字串中查詢指定字元的第一次出現的位置。如果查詢成功,返回該字元的地址,如果
面試題 模擬實現strlen函式的3種方法。
第一種方法是用計數器模擬實現strlen函式。#include<stdio.h> #include<assert.h> int my_strlen(const char *str) { int count = 0; assert(str!=NUL
【C語言】模擬實現strchr函式.即在一個字串中查詢一個字元第一次出現的位置並返回
//模擬實現strchr函式.即在一個字串中查詢一個字元第一次出現的位置並返回 #include <stdio.h> //#include <string.h> #includ
用可變引數列表模擬實現printf函式
用可變引數列表實現printf函式要實現printf函式,我們首先應該獲取printf函式中由雙引號中的字串,若遇到不是%的字元,我們應該直接將其輸出,若遇到%,我們應該判斷它後面是什麼字元,這裡先只考慮%c,%s的情況,如果是%c那麼我們應該將讀到的字元輸出來,若為%s,應
模擬實現printf函式,可變引數列表例項
首先可通過CSDN檢視printf函式原型等資訊 實現功能: Print formatted output to the standard output stream. 即格式化輸出並