源码心得"/>
strcmp库函数源码心得
明天要去参加实习面试,复习的时候偶然看到库函数实现,觉着应该会问到,就看了下。发现自己其实对很多常用函数根本不懂其源码实现过程,所以明显错误就一犯再犯。
strcpy的源码如下
char * __cdecl strcpy(char * dst, const char * src)
{char * cp = dst;while( *cp++ = *src++ ); /* Copy src over dst */return( dst );
}
这个函数非常简洁,所以很多细节就要使用者注意了,总结如下:
1、一定要保证dst空间大于src
2、src指针一定要有‘\0’空字符结束标志,否则要被复制的内容是从src起始地址一直到dst起始地址,大小具有任意性,如下面这段代码就是错误的!
char string[10],str[10];int i;for (int i=0;i<5;i++){str[i]='a';}strcpy(string,str);
更多推荐
strcmp库函数源码心得
发布评论