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

實現(xiàn)C語言常用字符串庫函數(shù)

 更新時間:2021年11月17日 15:00:35   作者:尖兵果子  
這篇文章主要為大家介紹了如何實現(xiàn)C語言常用字符串庫函數(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

strlen

數(shù)組長度的計算是通過strlen來的,它的作用就是判斷給定的數(shù)組元素個數(shù),直到碰到\0結(jié)束

函數(shù)原型

size_t strlen ( const char * str );

廢話少說,直接上代碼

int my_strlen(char *str)
{
	char* ch=str;
	int count=0;
	while(*ch!='\0')
	{
		count++;
		ch++;
	}
	return count;
}

但考慮到安全性,因為求長度并不會改變源字符串,所以加上const修飾char,保證該字符串的內(nèi)容不能被修改,但是可以改變指向

int my_strlen(const char *str)
{
	char* ch=str;
	int count=0;
	while(*ch!='\0')
	{
		count++;
		ch++;
	}
	return count;
}

strcpy

strcpy是將一個字符串含\0整體拷貝到另一個字符串中

原型為

char * strcpy ( char * destination, const char * source );
void my_strcpy(char* dest,const char *src)
{
	char * ch=src;
	while(*ch!='\0')
	{
		*dest=*ch;
		dest++;
		ch++;
	}
	*dest='\0';
}

同理不改變原字符串,所以加上const修飾。在最后記得手動給目的字符串加上\0,這樣才能保證輸出正確

strcat

原型

char * strcat ( char * destination, const char * source );
void my_strcat(char* dest,const char *src)
{
	char * ch=dest;
	while(*ch!='\0')ch++;
	while(*src!='\0')
	{
		*ch=*src;
		ch++;
		src++;
	}
	*ch='\0';
}

先遍歷跑完目的字符串,接著再將原字符串所指的值一一賦給目的字符串.而因為是把原接在目的字符串后,所以目的字符串要足夠大

strcmp

原型

int strcmp ( const char * str1, const char * str2 );
int my_strcmp(const char* str1,const char *str2)
{
	assert(str1);
	assert(str2);
	char * s1=str1;
	char * s2=str2;
	while(*s1==*s2)
	{
		if(*s1=='\0')
		{
			return 0;
		}
		s1++;
		s2++;
	}
	if(*s1>*s2)
	{
		return 1;
	}
	else
	{
		return -1;
	}
}



上面代碼最后可以簡化為return *s1-*s2,不過主函數(shù)里要相應(yīng)更改了

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

最新評論

彭阳县| 稷山县| 永安市| 永昌县| 双辽市| 灌云县| 桂东县| 利辛县| 阜新市| 疏附县| 广德县| 宜春市| 伊吾县| 阿拉善盟| 龙井市| 冕宁县| 韶山市| 红原县| 滁州市| 柳州市| 嘉定区| 临邑县| 丹凤县| 达孜县| 常宁市| 三台县| 临沧市| 长宁区| 买车| 安龙县| 白银市| 手游| 侯马市| 平武县| 邢台县| 天水市| 桂阳县| 腾冲县| 新龙县| 凤台县| 东乡|