简介
李明老师的C语言中级课程中,讲解了这一算法,无奈记性不好。。为了以后能时常看到,现记录下来。 函数原型为:
1 | strcpy( char *dest, char *src ) |
简单方法
核心代码:
1 | while( *dest++ = *src++ ); |
增量值算法
因为dest和src存储位置相邻,与其每次访问dest和src两个地址,不如只访问src所指存储空间,核心代码如下:
1 | int delta = dest - src; |
每次复制4个字节算法
因为在32操作系统下,每次复制32位字符串,会大大地提高效率。核心代码如下:
1 | int * d = (int *)dest; |
上述的那个宏很重要,可以判断一个字节中是否含有‘\0’,因为字符串复制遇到’\0’就可以结束了。
1 |