写一个子函数实现strcpy功能,将字符串s1复制到s2
时间: 2024-02-05 16:11:43 浏览: 21
下面是一个实现strcpy功能的子函数,可以将字符串s1复制到s2中:
```c
void my_strcpy(char *s2, const char *s1)
{
while (*s1 != '\0') {
*s2 = *s1;
s1++;
s2++;
}
*s2 = '\0';
}
```
这个函数的思路比较简单,就是从源字符串s1的第一个字符开始,逐个复制到目标字符串s2中,直到遇到字符串结束符'\0'为止。需要注意的是,在这个过程中,源字符串s1是不能被修改的,因此需要用const关键字来修饰它。
相关问题
在c++中,将字符串s1复制为s2
在 C++ 中,可以使用 `strcpy()` 函数将字符串 `s1` 复制到另一个字符串 `s2` 中。示例代码如下:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char s1[] = "Hello, world!";
char s2[100];
// 将 s1 复制到 s2 中
strcpy(s2, s1);
cout << "s1: " << s1 << endl;
cout << "s2: " << s2 << endl;
return 0;
}
```
运行结果:
```
s1: Hello, world!
s2: Hello, world!
```
需要注意的是,`strcpy()` 函数会复制整个字符串,包括字符串末尾的空字符。因此,目标字符串 `s2` 必须足够大,以容纳源字符串 `s1` 的内容和空字符。在上面的代码中,我定义了一个大小为 100 的字符数组 `s2`,以确保能够容纳 `s1` 的内容。
将字符串s1复制为字符串s2
可以使用strcpy函数将字符串s1复制到字符串s2中,示例如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char s1[20] = "Hello, world!";
char s2[20];
strcpy(s2, s1);
printf("s1: %s\n", s1);
printf("s2: %s\n", s2);
return 0;
}
```
输出:
```
s1: Hello, world!
s2: Hello, world!
```
在上面的例子中,先定义了两个字符数组s1和s2,其中s1初始化为"Hello, world!"。然后使用strcpy函数将s1复制到s2中,最终输出s1和s2的值,可以看到它们的值相同。