函数原型:
#include <string.h>
char *strcpy(char *str1, const char*str2)
函数strcpy()把str2的内容拷贝到str1。str2必须是终止符为null字串的指针,strcpy()返回指针给str1。
如果str1和str2重叠,则strcpy()的特性无定义。
linux的实现:
char *strcpy(char *dest, const char *src)
{
char *tmp = dest;
while ((*dest++ = *src++) != '/0')
/* nothing */;
return tmp;
}
再来看看高质量程序设计指南里面的实现:
char *strcpy(char *dest, const char *src)
{
assert((dest != NULL)&&(src != NULL))
char *addr = dest;
while (*dest++ = *src++)
;
return addr;
}
不知大家还有别的好的实现没有?