c语言使用函数复制字符串 c语言复制字符串的库函数

C语言实现字符串拷贝函数的几种方法

首先是使用库函数

创新互联建站专注于企业全网营销推广、网站重做改版、惠阳网站定制设计、自适应品牌网站建设、HTML5购物商城网站建设、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为惠阳等各大城市提供网站开发制作服务。

比如下面代码

void ourStrCopy(char S1[] , char S2[]){ strcpy(S1, S2); //该函数还有另一个版本可以按长度截取 }

还有一个函数是memcpy,这个是内存拷贝,原型是

void memcpy(void *dest, const void *src, size_t n); 需要注意的是这个函数第一个和第二个指针都是void型且第二个指针不能被修改,第三个参数是需要拷贝的内存长度按字节记。

然后是用指针引用,注意这个并非赋值,而是引用,这种操作需要注意内存。

char s1[] = "abcdefg";//定义一组字符串char *s2 = s1;//按照指针拷贝字符串

第三种方法就是直接赋值了

void outStrCopy(char s1[] , char s2[]){ int len1 = strlen(s1);//获取第一个字符串的长度 int len2 = strlen(s2);//获取第二个字符串的长度 int len = 0; //字符串总长度 if(len1 = len2){ len = len2; //选择COPY的长度 }else{ len = len1; } for(int i = 0 ; i len ; i++){ s1[i] = s2[i]; //实现数据拷贝 }}

C语言编写函数:字符串的复制

你这个拷贝函数里怎么没有主函数里的n来判断哪些拷贝过来?

我加了个n,把原来的n改成了m,再加了两条语句,其他的没动,代码如下:

#includestdio.h

#define

MAX_STR_LEN

100

char

*

str_cpy(int

n,char

*

t,

char

*

s)

{

int

i=0,m;

while(*s!='\0')

{

*t=*s;

t++;

s++;

i++;

}

for

(m=i;m0;m--)

{

t--;

if(mn)

*t='\0';

//把超过长度n的都变成结束符'\0'

}

return

t;

}

C语言,使用函数实现字符串复制

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

#include stdio.h

#include time.h

/*把从src地址开始的字符串复制到以dest开始的字符串中*/

char* strcopy (char* dest, char *src) {

char* r = dest;

while((*r++ = *src++)!='\0');

return dest;

}

int main () {

char *str1="abcde";

char *str2;

str2 = strcopy (str2, str1); /*把str1复制到str2*/

puts (str2);

return 0;

}


网站名称:c语言使用函数复制字符串 c语言复制字符串的库函数
链接分享:http://csdahua.cn/article/dojosjd.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流