最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言strlen,strcpy,strcmp,strcat,strstr字符串操作函數(shù)實(shí)現(xiàn)

 更新時(shí)間:2022年09月07日 10:34:36   作者:三天曬網(wǎng)且從不打魚  
這篇文章主要介紹了C語言strlen,strcpy,strcmp,strcat,strstr字符串操作函數(shù)實(shí)現(xiàn),,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下

前言:

今天來實(shí)現(xiàn)strlen、strcpy、strcmp、strcat、strstr三個比較常見的字符串操作函數(shù),具體實(shí)現(xiàn)如下。

strlen

C 庫函數(shù) size_t strlen(const char *str) 計(jì)算字符串 str 的長度,直到空結(jié)束字符,但不包括空結(jié)束字符。

int my_strlen(const char* p) {
	int size = 0;
	//找到末尾停止
	while (*p != '\0') {
		p++;
		size++;
	}
	return size;
}

strcpy

C 庫函數(shù) char *strcpy(char *dest, const char *src) 把 src 所指向的字符串復(fù)制到 dest。需要注意的是如果目標(biāo)數(shù)組 dest 不夠大,而源字符串的長度又太長,可能會造成緩沖溢出的情況。

char* my_strcpy(char* dest, const char* src) {

	//判斷傳入是否為空
	if (src == NULL || dest == NULL) {
		return dest;
	}
	char* pdest = dest;
	//不為空打印
	while (*src != '\0') {
		*pdest = *src;
		pdest++;
		src++;
	}
	//末尾加'\0'
	*pdest = '\0';
	return dest;

}

strcmp

C 庫函數(shù) int strcmp(const char *str1, const char *str2) 把 str1 所指向的字符串和 str2 所指向的字符串進(jìn)行比較。

int my_strcmp(const char* str1, const char* str2) {
	//一直往后查找直到其中一個結(jié)尾或者他們二者不相等為止
	while (*str1 != '\0' && *str2 != '\0' && (*str1 == *str2)) {
		str1++;
		str2++;
	}
	return *str1 - *str2;
}

strcat

C 庫函數(shù) char *strcat(char *dest, const char *src) 把 src 所指向的字符串追加到 dest 所指向的字符串的結(jié)尾。

char* my_strcat(char* dest, const char* src) {

	char* pdest = dest;
	//pdset先走到末尾
	while (*pdest != '\0') {
		pdest++;
	}
	//鏈接
	while (*src != '\0') {
		*pdest = *src;
		pdest++;
		src++;
	}
	//加結(jié)尾標(biāo)志'\0'
	*pdest = '\0';
	return dest;
}

strstr

C 庫函數(shù) char *strstr(const char *haystack, const char *needle) 在字符串 haystack 中查找第一次出現(xiàn)字符串 needle 的位置,不包含終止符 ‘\0’。

char* my_strstr(const char* dest, const char* src) {

	//斷言非空
	assert(dest && src);

	while (*dest != '\0') {
		//記錄dest src初始位置
		char* pdest = dest;
		char* psrc = src;
		//若相等則繼續(xù)比較
		while (*pdest == *psrc || *psrc == '\0') {
			//如果psrc=='\0' 則說明找到子串
			if (*psrc == '\0') {
				return dest;
			}
			//psrc 未到 \0 則繼續(xù)比較是否相等
			pdest++;
			psrc++;
		}
		dest++;
	}
	return NULL;
}

到此這篇關(guān)于C語言strlen,strcpy,strcmp,strcat,strstr字符串操作函數(shù)實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)C語言字符串操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++中unique函數(shù)的用法示例

    C++中unique函數(shù)的用法示例

    nique()是C++標(biāo)準(zhǔn)庫函數(shù)里面的函數(shù),下面這篇文章主要給大家介紹了關(guān)于C++中unique函數(shù)用法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧
    2019-02-02
  • C?語言的弱符號與弱引用你了解嗎

    C?語言的弱符號與弱引用你了解嗎

    這篇文章主要為大家詳細(xì)介紹了C?語言弱符號與弱引用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • VisualStudio2022 cmake配置opencv開發(fā)環(huán)境

    VisualStudio2022 cmake配置opencv開發(fā)環(huán)境

    本文主要介紹了VisualStudio2022 cmake配置opencv開發(fā)環(huán)境,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • VC++中HTControl的CHTButton按鈕控件類用法實(shí)例解析

    VC++中HTControl的CHTButton按鈕控件類用法實(shí)例解析

    這篇文章主要介紹了VC++中HTControl的CHTButton按鈕控件類用法,對于大家進(jìn)行VC++項(xiàng)目開發(fā)有一定的幫助作用,需要的朋友可以參考下
    2014-08-08
  • C語言實(shí)現(xiàn)宿舍管理系統(tǒng)課程設(shè)計(jì)

    C語言實(shí)現(xiàn)宿舍管理系統(tǒng)課程設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)宿舍管理系統(tǒng)課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • java 中ArrayList與LinkedList性能比較

    java 中ArrayList與LinkedList性能比較

    這篇文章主要介紹了java 中ArrayList與LinkedList性能比較的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • C語言用fstat函數(shù)獲取文件的大小方法

    C語言用fstat函數(shù)獲取文件的大小方法

    今天小編就為大家分享一篇關(guān)于C語言用fstat函數(shù)獲取文件的大小方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • C++中volatile關(guān)鍵字的使用詳解以及常見的誤解

    C++中volatile關(guān)鍵字的使用詳解以及常見的誤解

    volatile 關(guān)鍵字是一種類型修飾符,用它聲明的類型變量表示可以被某些編譯器未知的因素更改,比如:操作系統(tǒng),硬件或者其他線程等
    2020-01-01
  • C語言實(shí)現(xiàn)單鏈表的示例詳解

    C語言實(shí)現(xiàn)單鏈表的示例詳解

    給需要考研的同學(xué)一個參考,單鏈表作為常見數(shù)據(jù)結(jié)構(gòu)的一種,這里記錄C語言實(shí)現(xiàn)單鏈表,文章通過代碼示例介紹的非常詳細(xì),具有一頂?shù)膮⒖純r(jià)值,需要的朋友可以參考下
    2023-09-09
  • QT6實(shí)現(xiàn)音頻可視化的示例代碼

    QT6實(shí)現(xiàn)音頻可視化的示例代碼

    這篇文章主要為大家詳細(xì)介紹了一個基于QT6的音頻可視化Demo,文中的示例代碼,具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-12-12

最新評論

武义县| 石楼县| 成武县| 商洛市| 安陆市| 田阳县| 惠来县| 宣威市| 仪陇县| 江北区| 延安市| 德化县| 比如县| 晋宁县| 长垣县| 仁寿县| 读书| 蒙阴县| 莫力| 宜君县| 古蔺县| 正镶白旗| 阿尔山市| 梁山县| 西宁市| 体育| 江安县| 三穗县| 和龙市| 永春县| 宣武区| 内江市| 山阴县| 杭州市| 梅河口市| 扎鲁特旗| 靖州| 云林县| 襄汾县| 北川| 平舆县|