写一个C语言函数实现两个字符串的拷贝
时间: 2024-10-24 22:13:16 浏览: 13
在C语言中,我们可以编写一个简单的函数来实现两个字符串的拷贝。这里有一个示例,它创建了一个名为`copyString`的函数,接受两个`char`类型的指针作为参数,一个是源字符串,另一个是目标字符串。函数的主要部分是使用`strcpy`函数,但需要注意的是,`strcpy`可能会导致缓冲区溢出,因此在实际应用中推荐使用更安全的`strncpy`加上手动检查长度。
```c
#include <stdio.h>
#include <string.h>
// 函数声明
void copyString(const char* source, char* target);
int main() {
char str1[] = "Hello, C!";
char str2[20]; // 创建足够大的目标字符串
// 调用函数并传入字符串
copyString(str1, str2);
// 输出目标字符串
printf("Copied string: %s\n", str2);
return 0;
}
// 定义copyString函数
void copyString(const char* source, char* target) {
size_t len = strlen(source); // 获取源字符串长度,包括结尾的'\0'
if (len < sizeof(target)) { // 避免目标字符串过小导致溢出
strncpy(target, source, len);
target[len] = '\0'; // 添加结尾的'\0'以表示字符串结束
} else {
printf("Error: Target string is too small.\n");
}
}
```
阅读全文