c语言字符串拷贝副本
时间: 2025-01-04 18:21:05 浏览: 13
在C语言中,复制字符串通常是通过创建一个新的字符数组并将源字符串逐字符复制过去实现的。这里提供一个基本的示例:
```c
#include <stdio.h>
#include <string.h>
// 创建字符串副本的函数
char* copy_string(const char* src) {
int len = strlen(src); // 计算源字符串长度
char* dest = (char*)malloc((len + 1) * sizeof(char)); // 分配足够的空间,包括结尾的'\0'
if (dest != NULL) {
strcpy(dest, src); // 使用strcpy将源字符串复制到新分配的空间
return dest; // 返回复制后的字符串副本
} else {
printf("Memory allocation failed.\n");
return NULL;
}
}
int main() {
const char* original_str = "Hello, World!";
char* copied_str = copy_string(original_str);
if (copied_str != NULL) {
printf("Copied string: %s\n", copied_str);
free(copied_str); // 一定要记得释放内存
}
return 0;
}
```
在这个例子中,`copy_string` 函数首先计算源字符串的长度,然后动态地分配新的内存来存储复制后的字符串,接着使用 `strcpy` 函数完成复制工作。最后,在 `main` 函数里,我们打印出复制的字符串并确保在不再使用时释放内存。
阅读全文