c语言字符串拷贝函数
时间: 2023-06-21 09:20:14 浏览: 119
在 C 语言中,可以使用 `strcpy()` 函数来拷贝字符串。该函数定义在头文件 `string.h` 中,函数原型如下:
```c
char *strcpy(char *dest, const char *src);
```
其中,`dest` 是目标字符串,`src` 是源字符串,函数会将源字符串拷贝到目标字符串中,并返回目标字符串的指针。
例如:
```c
#include <stdio.h>
#include <string.h>
int main() {
char s1[] = "hello world";
char s2[100];
// 使用 strcpy() 函数拷贝字符串
strcpy(s2, s1);
printf("s1 = %s\n", s1); // 输出 "hello world"
printf("s2 = %s\n", s2); // 输出 "hello world"
return 0;
}
```
需要注意的是,如果目标字符串的空间不足以存放源字符串,会导致程序崩溃。因此,在使用 `strcpy()` 函数时,需要确保目标字符串有足够的空间。
相关问题
用C语言字符串拷贝函数写一个简单的拷贝代码
```
#include <stdio.h>
#include <string.h>
int main(void)
{
char src[] = "Hello, world!";
char dest[20];
strcpy(dest, src);
printf("src: %s\n", src);
printf("dest: %s\n", dest);
return 0;
}
```
用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;
}
```
阅读全文