用C语言编写字符串拷贝函数
时间: 2024-12-18 19:23:31 浏览: 4
C语言实现字符串操作函数的实例
在C语言中,编写一个简单的字符串拷贝函数通常会使用`strcpy()`库函数,但如果想要手动实现以便学习,可以使用循环遍历字符数组。下面是一个基本的手动实现:
```c
#include <stdio.h>
#include <string.h> // 只是为了包含NULL指针常量
// 自定义字符串拷贝函数
char* copy_string(const char* source) {
int len = strlen(source); // 获取源字符串长度
char* dest = (char*)malloc(len + 1); // 分配足够的内存,包括终止符'\0'
if (dest != NULL) { // 检查分配是否成功
for (int i = 0; i < len; i++) {
dest[i] = source[i]; // 复制每个字符
}
dest[len] = '\0'; // 添加终止符
} else {
printf("Memory allocation failed.\n");
return NULL;
}
return dest;
}
// 示例用法
int main() {
const char* str1 = "Hello, C!";
char* copied_str = copy_string(str1);
if (copied_str != NULL) {
printf("Copied string: %s\n", copied_str);
free(copied_str); // 释放内存
}
return 0;
}
```
阅读全文