C/C++筆試考題之字符串連接函數strcat源碼實現

C/C++筆試考題之字符串連接函數strcat源碼實現

經過好幾次筆試經驗,總結一下曾經踩過的坑,常常被忽略的細節,總能在經歷過後銘記於心

字符串連接函數strcat( )
源碼實現:

#include <iostream>
#include <cassert>

using namespace std;

/*********************Linux平臺下的實現*********************/
char *My_strcat(char *dest,const char *src)
{
	char *temp= dest;
	while (*dest != '\0') //找到dest串的最後位置
	{
		dest++;
	}
	while((*dest++=*src++)!='\0') //將src串的元素一個一個放入串dest的尾部
	{
	}
	return temp; //返回一個指向目的串的 chat *指針

}

/************************Windows平臺下的實現*******************/
char *Win_strcat(char *dest, const char * src)
{
	char *temp = dest;
	while (*temp) //找到dest串的最後位置
	{
		temp++;
	}
	while (*temp++ = *src++); //將src串的元素一個一個放入串dest的尾部
	return dest; //返回目的串的 chat *指針
}

/*******************************Test**************************/
char* strcat1(char * dst, const char * src)
{
	char * cp = dst;
	while (*cp)
		cp++;
	while (*cp++ = *src++); 
	return(dst); 
}

int  main()
{
	char str1[20] = "abcdefg";
	char str2[10] = "hijk";
	char str3[30];
	memset(str3, NULL, sizeof(char) * 30);
	My_strcat(str1, str2);
	cout<<str1;
	cout << endl;

	Win_strcat(str3, str2);
	cout << str3;
	system("pause");
	return 0;
}

運行結果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章