字符串拷贝--strcpy的代码实现

来源:互联网 发布:棋牌源码论坛 编辑:程序博客网 时间:2024/05/20 04:46

strcpy():指的是字符串的复制,其基本类型为char* strcpy(char* dest, const char* src);
该类型表示字符类型的函数strcpy把src所指向的字符串以’\0’结尾的全部字符串复制到字符类型数组dest所指向的数组中(包含’\0’),返回指向dest的指针。(即dest为目标地址,src为源地址。
注意:在进行字符串拷贝时要注意目标字符串大小和所给的源字符串数组大小需判断。
在strcpy中 :当sizeof(dest)大于或等于sizeof(src)时,拷贝成功,并在dest字符串后面加入’\0’; 当sizeof(dest)小于sizeof(src)时,拷贝出错。

如下代码示例:

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<Windows.h>#include<string.h>#include<assert.h>char* my_strcpy(char* dest, const char* src){    char*p1 = dest;//保存目的字符串的首地址    assert((src != NULL)||assert(dest != NULL));//保证两个参数的有效性    while (*dest++ = *src++)//把src的字符串内容复制到dest下    {        ;    }    return p1;}int main(){    char arr[40] = { 0 };    printf("string=%s\n",my_strcpy(arr, "Welcome to China!"));    return 0;}

输出结果如下:
这里写图片描述
注意:在进行字符串拷贝时要注意目标字符串大小和所给的源字符串数组大小需判断。
在strcpy中 :当sizeof(dest)大于或等于sizeof(src)时,拷贝成功,并在dest字符串后面加入’\0’; 当sizeof(dest)小于sizeof(src)时,拷贝出错。

原创粉丝点击