用指针写一个自己函数,实现 strcpy() 的功能 ,并写出main函数
时间: 2024-05-08 17:20:48 浏览: 11
下面是使用指针实现 strcpy() 函数的代码:
```c
#include <stdio.h>
void my_strcpy(char *dest, const char *src) {
while (*src != '\0') {
*dest = *src;
dest++;
src++;
}
*dest = '\0';
}
int main() {
char source[] = "Hello, World!";
char destination[20];
my_strcpy(destination, source);
printf("Source string: %s\n", source);
printf("Destination string: %s\n", destination);
return 0;
}
```
注:这里的 `my_strcpy()` 函数的实现方式只是一种,可能并不是最优的。
相关问题
用指针的方法实现strcpy函数功能
`strcpy` 函数是 C 语言中的一个字符串处理函数,用于将一个字符串复制到另一个字符串中。我们可以使用指针来实现 `strcpy` 函数的功能。
以下是一个使用指针实现 `strcpy` 函数的示例代码:
```c++
#include <iostream>
using namespace std;
char* my_strcpy(char* dest, const char* src) { // 定义一个函数,使用指针实现strcpy函数
char* result = dest;
while ((*dest++ = *src++) != '\0');
return result;
}
int main() {
char src[10] = "hello";
char dest[10] = "";
my_strcpy(dest, src);
cout << "复制后的字符串为:" << dest << endl;
return 0;
}
```
在上面的代码中,我们定义了一个函数 `my_strcpy`,该函数使用两个指针 `dest` 和 `src` 来实现字符串的复制。在 `main` 函数中,我们首先定义了两个字符数组 `src` 和 `dest`,分别用于存储源字符串和目标字符串。然后,我们调用 `my_strcpy` 函数来将 `src` 中的字符串复制到 `dest` 中,并输出结果。
运行结果:
```
复制后的字符串为:hello
```
在 `my_strcpy` 函数中,我们使用了两个指针 `dest` 和 `src` 来迭代遍历字符串。在每次循环中,我们将 `src` 指针所指向的字符赋值给 `dest` 指针所指向的字符,并将两个指针都向后移动一位,直到遇到字符串结束符 `\0` 为止。最后,我们将 `dest` 指针的初始值(即目标字符串的首地址)返回,作为复制后的字符串的结果。
用c++写一个模拟strcpy函数作用的新函数,不要用指针函数
好的,下面是一个示例代码:
```c++
#include <iostream>
void my_strcpy(char dest[], const char src[]) {
int i = 0;
while (src[i] != '\0') {
dest[i] = src[i];
i++;
}
dest[i] = '\0';
}
int main() {
char src[] = "Hello, world!";
char dest[20];
my_strcpy(dest, src);
std::cout << "src: " << src << std::endl;
std::cout << "dest: " << dest << std::endl;
return 0;
}
```
上面的代码中,`my_strcpy` 函数模拟了 `strcpy` 函数的作用,将源字符串 `src` 复制到目标字符串 `dest` 中。由于不使用指针,我们使用字符数组作为参数,并通过下标遍历字符串来复制字符。注意,最后需要在目标字符串的末尾加上字符串结束符 `\0`。在 `main` 函数中,我们通过调用 `my_strcpy` 函数来测试它的正确性。