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

C語言字符串函數(shù)介紹與模擬實現(xiàn)詳解

 更新時間:2022年02月25日 16:12:27   作者:誠摯的喬治  
字符串函數(shù)(String?processing?function)也叫字符串處理函數(shù),指的是編程語言中用來進(jìn)行字符串處理的函數(shù),如C,pascal,Visual以及LotusScript中進(jìn)行字符串拷貝,計算長度,字符查找等的函數(shù)

strlen

 strlen
頭文件#include <string.h>
格式size_t strlen( const char* str)
功能計算字符串長度
返回值返回字符串的長度
//strlen的模擬實現(xiàn)
#include<stdio.h>
#include<assert.h>
size_t  my_strlen(const char* str)
{
	assert(str); int count = 0;
	while (*str != '\0')
	{
		str++;
		count++;
	}
	return count;
}

strcat

 strcat
頭文件#include <string.h>
格式char* strcat(char* dest,const char* src)
功能追加子字符串到目標(biāo)字符串后
返回值目標(biāo)字符串的首地址
//strcat模擬實現(xiàn)
#include<stdio.h>
#include<assert.h>
char* my_strcat(char* str1,const char *str2)
{
	assert(str1, str2);
	char* tmp = str1;
	//找出str1中的斜杠零
	while (*str1)
	{
		str1++;
	}
	//在str1上追加
	while (*str1++=*str2++)
	{
		;
	}
	return tmp;
}
int main()
{
	char arr1[20] = "hello";
	char arr2[] = " world";
	printf("%s",my_strcat(arr1,arr2));
	return 0;
}

strcpy

 strcpy
頭文件#include <string.h>
格式char* strcpy(char* dest,char* src)
功能將參數(shù)src字符串拷貝至參數(shù)dest所指的地址
返回值目標(biāo)字符串的首地址
//模擬實現(xiàn)strcpy
#include<stdio.h>
#include<assert.h>
char* my_strcpy(char *str2,char *str1)
{
	assert(str1, str2);
	char* tmp = str2;
	while (*str1)
	{
		*str2++ = *str1++;
	}
	return tmp;
}
int main()
{
	char arr1[20] = "abcdef";
	char arr2[20] = "xxxxxxxxxxxxx";
	my_strcpy(arr2,arr1);
	printf("%s", arr2);
	return 0;
}

strcmp

 strcmp
頭文件#include <string.h>
格式int strcmp (const char* str1,const char* str2)
功能比較兩字符串的大小
返回值

str1>str2  返回值>0

str1<str2  返回值<0

str1=str2  返回值=0

//strcmp模擬實現(xiàn)
#include<stdio.h>
#include<assert.h>
int strcmp(const char* str1,const char* str2)
{
	assert(str1, str2);
	while (*str1 == *str2)
	{
		str1++;
		str2++;
	}
	return *str1 - *str2;
	
}
int main()
{
	char arr1[] = "abc";
	char arr2[] = "abcd";
	printf("%d", strcmp(arr1, arr2));
	return 0;
}

strstr

 strstr
頭文件#include <string.h> 
格式char* my_strstr(const char*str,const char* substr)
功能在目標(biāo)字符串中查找子字符串
返回值目標(biāo)字符串中,與子字符串相同的字符串首地址

 

#include<stdio.h>
#include<assert.h>
char* my_strstr(const char*str,const char* substr)
{
	char* s1 = str;//防止str被破壞
	char* s2 = substr;//防止substr被敗壞
	char* cur = str;//存儲中間地址
	assert(str && substr);
	//排除substr為空
	if (substr == '\0')
	{
		return str;
	}
	while (*cur)
	{
		s1 = cur;
		s2 = substr;
		while (*s1 && *s2 && *s1 == *s2)
		{
			s1++;
			s2++;
	    }
		if (*s2 == '\0')
			return cur;
		cur++;
	}
	return NULL;
}
int main()//模擬實現(xiàn)strstr函數(shù)
{
	char arr1[] = "abbbcdef";
	char arr2[] = "bbc";
	printf("%s", my_strstr(arr1, arr2));
	return 0;
}

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

相關(guān)文章

  • C語言排序算法之冒泡排序?qū)崿F(xiàn)方法【改進(jìn)版】

    C語言排序算法之冒泡排序?qū)崿F(xiàn)方法【改進(jìn)版】

    這篇文章主要介紹了C語言排序算法之冒泡排序?qū)崿F(xiàn)方法,結(jié)合具體實例形式分析了C語言實現(xiàn)的基本冒泡排序?qū)崿F(xiàn)方法及增設(shè)flag標(biāo)志位的改進(jìn)型算法,需要的朋友可以參考下
    2017-09-09
  • C語言實現(xiàn)銷售管理系統(tǒng)

    C語言實現(xiàn)銷售管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)銷售管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • opencv利用矩形框選中某一區(qū)域并保存為新圖片

    opencv利用矩形框選中某一區(qū)域并保存為新圖片

    這篇文章主要為大家詳細(xì)介紹了opencv利用矩形框選中某一區(qū)域并保存為新圖片,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • C++控制權(quán)限關(guān)鍵字protected

    C++控制權(quán)限關(guān)鍵字protected

    這篇文章主要介紹了C++控制權(quán)限關(guān)鍵字protected,protected和private類似,而對于派生類來說,protected與public類似,下面來一起倆姐更多詳細(xì)內(nèi)容吧,需要的小伙伴可以參考一下
    2022-01-01
  • 一篇文章帶你入門C語言:函數(shù)

    一篇文章帶你入門C語言:函數(shù)

    這篇文章主要介紹了C語言中函數(shù)的聲明、定義及使用的入門教程,重點講述了main函數(shù)的相關(guān)知識,需要的朋友可以參考下,希望能給你帶來幫助
    2021-08-08
  • C++基于回溯法解決八皇后問題示例

    C++基于回溯法解決八皇后問題示例

    這篇文章主要介紹了C++基于回溯法解決八皇后問題,簡單描述了八皇后問題,以及回溯法的原理與解決八皇后問題的相關(guān)操作技巧,需要的朋友可以參考下
    2017-11-11
  • 淺析VC++中的頭文件包含問題

    淺析VC++中的頭文件包含問題

    類中盡量采用指針或引用方式調(diào)用其它類,這樣就可以只聲明class xxx了。并且這也符合資源最優(yōu)利用,更利于使用多態(tài)
    2013-09-09
  • OpenGL繪制Bezier曲線的方法

    OpenGL繪制Bezier曲線的方法

    這篇文章主要為大家詳細(xì)介紹了OpenGL繪制Bezier曲線的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • C語言利用模板實現(xiàn)簡單的棧類

    C語言利用模板實現(xiàn)簡單的棧類

    這篇文章主要為大家詳細(xì)介紹了C語言利用模板實現(xiàn)簡單的棧類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • C++實現(xiàn)堆排序?qū)嵗榻B

    C++實現(xiàn)堆排序?qū)嵗榻B

    大家好,本篇文章主要講的是C++實現(xiàn)堆排序?qū)嵗榻B,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12

最新評論

阿巴嘎旗| 大化| 保靖县| 顺义区| 耿马| 新巴尔虎右旗| 营山县| 溆浦县| 青浦区| 扎兰屯市| 屯门区| 大英县| 滨州市| 阳朔县| 奇台县| 苍溪县| 齐齐哈尔市| 台北县| 望城县| 义乌市| 宁强县| 宝山区| 开江县| 牙克石市| 年辖:市辖区| 威宁| 磐安县| 巴青县| 嘉义县| 沛县| 黄石市| 三台县| 莎车县| 万全县| 长春市| 韶山市| 双桥区| 疏附县| 阿坝| 容城县| 额济纳旗|