1. 程式人生 > >strcpy()函式自實現

strcpy()函式自實現

strcpy() 這個函式應該是每個人經常用到的了,今天,我們就自己來實現一下這個函式

int main(void)
{
	char arr1[20];
	char arr2[] = "hello world!";
	//char *arr2 = NULL;

	my_strcpy(arr1, arr2);

	printf("%s", arr1);
	system("pause");
	return 0;
}

如上,先把整體的框架定好,接著開始寫my_strcpy函式
char * my_strcpy(char * dest, const char * src)	//const使src不能做左值,防止while裡dest和src寫反
{
	char *ch = dest;
	assert(dest != NULL);						//斷言幫助除錯
	assert(src != NULL);
	while (*dest++ = *src++)					//while最簡	
		;
	return dest;								//鏈式訪問 printf("%s", my_strcpy(dest, src));
}
如上,註釋已經很詳細了。值得一提的是,assert() 這個咚咚,它叫做斷言,指的是當它的條件為假時,程式會崩潰,然後給出提示資訊,可以很好的幫我們除錯程式!為了用這個斷言,我們要包含上它的標頭檔案: #include <assert.h> !