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!
父主题: 函数定义