前面写了用C语言关于字符串拷贝时可以用memcpy,其实不用memcpy也可以实现字符串的拷贝 —— strcpy专门针对字符串拷贝的函数,下面贴上linux实现方式。
函数定义如下:
char *strcpy(char *dest, const char *src);函数实现如下:
char *Test_strcpy(char *dest, const char *src){ char *tmp = dest; while ((*dest++ = *src++) != ' ') return tmp;}其实strcpy这么实现有好多问题:
1.没有判断接收字符串与源字符串,如果传入了没有开辟内存的地址很容易造成崩溃。
2.如果src最后一位不是’ ’而是随机数,那么dest里会出现乱码甚至崩溃。
3.如果在数据中间位置出现’ ’会造成函数返回,后面的数据没有接受(这只是个猜测,有兴趣的朋友可以测试下!)。