C 语言标准库函数
原型声明:extern char *strcpy(char* dest, const char *src);
头文件:#include <string.h>
功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
2.典型实现
/********************** *C语言标准库函数strcpy的一种典型的工业级的最简实现 *返回值:目标串的地址。 *对于出现异常的情况ANSI-C99标准并未定义,故由实现者决定返回值,通常为NULL。 *参数:des为目标字符串,source为原字符串 */ char*strcpy(char*des,constchar*source) { char*r=des; while(*des++=*source++); return r; } /*while((*des++=*source++));的解释:赋值表达式返回左操作数,所以在复制NULL后,循环停止*/
已知strcpy函数的原型是:
char * strcpy(char * strDest,const char * strSrc);
⒉解释为什么要返回char *。
解说
⒈strcpy的实现代码
char * strcpy(char * strDest,const char * strSrc) {
char * strDestCopy = strDest; //[3] if ((NULL==strDest)||(NULL==strSrc)) //[1] throw "Invalid argument(s)"; //[2] while ((*strDest++=*strSrc++)!='