亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

徹底掌握C語言strcat函數(shù)的用法

 更新時間:2022年05月05日 14:35:57   作者:<vince>  
strcat是用來拼接字符串的,它會將參數(shù)?src?字符串復制到參數(shù)?dest?所指的字符串尾部,本章帶你了解它的使用并模擬實現(xiàn)它

strcat函數(shù)詳解如下

1.函數(shù)介紹

1.1.函數(shù)接口

char* __cdecl strcat (char * dst, const char * src);

這里是庫函數(shù)里面的函數(shù)定義接口。這個函數(shù)是將字符串src連接到dst中去,就是連接字符串函數(shù)。

1.2.函數(shù)分析

分析:

1、dst 和 src 字符串結(jié)尾都必須含有 ’ \0 ';

2、dst 字符串是可變的,不能用 const 修飾;src 可以用 const 修飾。

3、就是 dst 目標字符串的空間必須足夠大。

4、該函數(shù)返回值是字符指針類型。

1.3.函數(shù)的簡單使用

代碼展示如下:

int main()
{
	char ch1[20] = "Hello";
	char ch2[] = "World";
	strcat(ch1, ch2);
	printf("%s\n", ch1);
	return 0;
}

圖解分析:

strcat函數(shù)連接前:

strcat函數(shù)連接后:

2.庫函數(shù)strcat源代碼

char * __cdecl strcat (char * dst, const char * src)//__cdecl:是函數(shù)調(diào)用約定
{
	char * cp = dst;
	while( *cp )
	cp++;                 //find end of dst 
	while((*cp++ = *src++) != '\0') ;       //Copy src to end of dst 
	return( dst );                  //return dst 
}

庫函數(shù)分析

分析:

1、這里 dst 就沒有用 const 修飾,而 src 就可以用 const 修飾。

2、這里定義一個新的字符指針 cp 指向 dst 起始位置,然后 cp 開始循環(huán)操作,dst 這個指針始終指向字符串開頭,最終返回 dst 指向的字符串。

3、先要找目標空間那個起始字符串的尾部,然后再在后面連接。

4、while((*cp++ = *src++) != ‘\0’) ; 這一句就以最簡潔的代碼實現(xiàn)字符串連接。

3.模擬實現(xiàn) strcat 函數(shù)

模擬實現(xiàn)

char* my_strcat(char* str1, const char* str2)
{
	char* first = str1;
	assert(str1 && str2);
	//目標空間的'\0'
	while (*str1 != '\0')
	{
		str1++;
	}
	//追加內(nèi)容到目標空間
	while (*str1++ = *str2++)
	{
		;
	}
	return first;
}
int main()
{
	char ch1[20] = "Hello";
	char ch2[] = "World";
	printf("%s\n", my_strcat(ch1, ch2));//這里包含鏈式訪問
	return 0;
}

總結(jié)分析

1、這是模擬實現(xiàn)strcat函數(shù),里面相關的細節(jié)和源代碼中的相同。

2、鏈式訪問:就是把一個函數(shù)的返回值當作另一個函數(shù)的參數(shù)來使用,就是鏈式訪問。

寫在后面

友友們,相聚的時刻總是短暫的,又到了說再見的時候啦~  但是字符串這一塊經(jīng)常在面試的時候會出模擬實現(xiàn)某某字符串函數(shù)的面試題,因此我們不能只會平時利用頭文件直接調(diào)用而不去摸清原理哈~ 要做到 摸清、拿捏、吃透 字符串函數(shù)。

以上代碼均可運行,所用編譯環(huán)境為 vs2019 ,運行時注意加上編譯頭文件#define _CRT_SECURE_NO_WARNINGS 1

到此這篇關于徹底掌握C語言strcat函數(shù)的用法的文章就介紹到這了,更多相關C語言strcat函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論