定义函数,实现字符串的拷贝
时间: 2024-05-13 16:17:18 浏览: 13
在 C 语言中,可以使用标准库函数 `strcpy` 来实现字符串的拷贝。`strcpy` 的原型定义如下:
```c
char *strcpy(char *dest, const char *src);
```
其中,`dest` 是目标字符串,`src` 是源字符串。函数会将源字符串 `src` 中的内容拷贝到目标字符串 `dest` 中,并返回目标字符串 `dest` 的地址。
例如,下面的代码演示了如何使用 `strcpy` 函数将一个字符串拷贝到另一个字符串中:
```c
#include <stdio.h>
#include <string.h>
int main() {
char src[] = "Hello, world!";
char dest[20];
strcpy(dest, src);
printf("src: %s\n", src);
printf("dest: %s\n", dest);
return 0;
}
```
输出的结果为:
```
src: Hello, world!
dest: Hello, world!
```
如果你不想使用标准库函数,也可以自己实现一个字符串拷贝函数。一个简单的实现方式如下:
```c
void my_strcpy(char *dest, const char *src) {
int i = 0;
while (src[i] != '\0') {
dest[i] = src[i];
i++;
}
dest[i] = '\0';
}
```
这个函数的实现方式是遍历源字符串 `src` 中的每一个字符,然后依次将其拷贝到目标字符串 `dest` 中。最后,在目标字符串的末尾添加一个空字符 '\0',表示字符串的结束。
使用这个函数的例子同样是将一个字符串拷贝到另一个字符串中:
```c
#include <stdio.h>
void my_strcpy(char *dest, const char *src);
int main() {
char src[] = "Hello, world!";
char dest[20];
my_strcpy(dest, src);
printf("src: %s\n", src);
printf("dest: %s\n", dest);
return 0;
}
void my_strcpy(char *dest, const char *src) {
int i = 0;
while (src[i] != '\0') {
dest[i] = src[i];
i++;
}
dest[i] = '\0';
}
```
输出的结果与前面的示例相同:
```
src: Hello, world!
dest: Hello, world!
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)