首页 > 代码库 > C语言中strcpy与memcpy函数实现与区别
C语言中strcpy与memcpy函数实现与区别
C语言中strcpy与memcpy函数是怎么实现的又有哪些区别呢?下面就与我来简单的介绍下吧,希望大家多给点意见,欢迎评论纠正错误。
6.2 字符串与数组
字符串一般是用字符数组的方式存储,例如下面的str定义:
char str[] = "123456"; |
这里str是一个字符数组,它存放了一个字符串"123456",由于字符串还有一个结束符"\0",所以此数组的长度为7而不是6。
6.2.1 strcpy函数与memcpy函数
strcpy和memcpy都是标准C库函数,它们有下面的特点。
strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。
memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。
面试例题5:编程实现strcpy函数。
考点:字符串复制的实现。
出现频率:★★★★
已知strcpy函数的原型是:
char * strcpy(char * strDest,const char * strSrc); |
要求如下。
(1)不调用库函数,实现strcpy函数;
(2)解释为什么要返回char *。
解析
程序代码如下:
1 2 3 strSrc到strDest的复制 4 5 断参数strDest和strSrc的有效性 6 7 8 9 10 strSrc字符串的内容复制到strDest下 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 的字符数组中字符串的长度 31 32 式表达式,先复制后计算长度 33 34 35 36 |