鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

strcpy

函数功能

将源字符串复制到目标字符串,包括结尾的空字符(\0)。拷贝过程中不会检查目标缓冲区的大小,因此如果目标缓冲区不足以容纳源字符串,将会导致缓冲区溢出。

函数定义

char *strcpy(char *dest, const char *src);

参数说明

参数名

描述

取值范围

输入/输出

dest

目标内存地址指针,接收源字符串的内容。

非空指针,指向的内存空间必须可写足够大(能容纳src所有字符+ \0

输入/输出

src

指向要复制的数据源内存指针。

非空指针,指向源字符串地址,必须以\0结尾(否则行为未定义,可能导致崩溃或溢出)

输入

返回值

  • 成功:返回目标字符串的起始地址。
  • 失败:对标开源Glibc,不返回特殊异常值。

必须确保目标字符串有足够的空间来容纳源字符串(包括结尾的\0),否则会引起内存溢出。

示例

#include <stdio.h>
#include <string.h>

int main() {
    char src[] = "Hello, World!";
    char dest[50];

    strcpy(dest, src);
    printf("Source: %s\n", src);
    printf("Destination: %s\n", dest);
    return 0;
}

运行结果:

Source: Hello, World!
Destination: Hello, World!