C++调用自定义函数实现字符串的拷贝。

#include<iostream>

using namespace std;

void(char str1[],char str2[])

{

int i=0;

while(str2[i]!='0')

{

str1[i]=str2[i];

i++;

}

str1[i]='\0';

}

int main()

{

char a[100];
char b[100];

cin>>b;

f(a,b);

cout<<a;

return 0;

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 函数原型如下: ``` char* mystrcpy(char* dest, const char* src); ``` 函数参数说明: - `dest`:目标字符串的指针,即要将源字符串拷贝到的目标位置; - `src`:源字符串的指针,即要拷贝字符串。 函数返回值: - 返回拷贝后的目标字符串指针。 函数实现: ``` char* mystrcpy(char* dest, const char* src) { char* ret = dest; while ((*dest++ = *src++) != '\0'); return ret; } ``` 函数实现过程: 首先,我们定义一个指向目标字符串的指针 `ret`,并将其初始化为 `dest`,这是为了在函数返回时返回正确的目标字符串指针。 然后,我们使用一个 `while` 循环,将源字符串 `src` 中的每个字符拷贝到目标字符串 `dest` 中,直到遇到字符串结束标志符 `\0`。 最后,返回拷贝后的目标字符串指针 `ret`。 函数使用示例: ``` #include <iostream> #include <cstring> using namespace std; char* mystrcpy(char* dest, const char* src); int main() { char src[] = "Hello, world!"; char dest[20]; mystrcpy(dest, src); cout << "src: " << src << endl; cout << "dest: " << dest << endl; return 0; } char* mystrcpy(char* dest, const char* src) { char* ret = dest; while ((*dest++ = *src++) != '\0'); return ret; } ``` 输出结果: ``` src: Hello, world! dest: Hello, world! ``` 可以看到,目标字符串 `dest` 成功地拷贝了源字符串 `src` 的内容。 ### 回答2: 在使用C语言编函数mystrcpy时,我们需要实现字符串拷贝的功能。字符串拷贝是将一个字符串的内容复制到另一个字符串中,使得两个字符串的内容相同。 在函数的参数中,我们需要传入两个字符串,一个是源字符串source,一个是目标字符串target。源字符串是我们想要拷贝字符串,目标字符串是我们将源字符串内容复制到的字符串实现字符串拷贝算法可以采用逐个字符拷贝的方式,即从源字符串中的第一个字符开始,依次将字符复制到目标字符串中的对应位置,直到源字符串结束符'\0'为止。 首先,我们需要使用一个循环来逐个字符拷贝。可以使用指针来访问字符串中的每个字符,通过一个while循环来判断是否已到达字符串的结束符'\0'。 在循环中,将源字符串source指针所指向的字符赋值给目标字符串target指针所指向的位置,并且将两个指针向后移动一个位置,以便于下一次拷贝。 当循环结束时,我们可以确保目标字符串中的内容与源字符串相同,完成了字符串拷贝。 下面是用C编的函数代码示例: void mystrcpy(char *target, const char *source) { while (*source != '\0') { *target = *source; source++; target++; } *target = '\0'; // 添加目标字符串的结束符 } 函数的实现过程如上所述,首先用两个指针分别指向源字符串和目标字符串,并通过循环逐个拷贝字符,最后添加目标字符串的结束符。 使用这个函数,我们可以方便地实现字符串拷贝,可以在其他地方调用这个函数来实现字符串拷贝功能。 ### 回答3: ```c #include <stdio.h> // 函数声明 void mystrcpy(char* dest, const char* src); int main() { char src[] = "Hello, World!"; char dest[sizeof(src)]; mystrcpy(dest, src); printf("拷贝后的字符串为:%s\n", dest); return 0; } // 函数定义 void mystrcpy(char* dest, const char* src) { while (*src != '\0') { *dest = *src; dest++; src++; } *dest = '\0'; } ``` 以上是使用C 6.0编实现字符串拷贝的函数`mystrcpy`的完整代码。 该函数接受两个参数:`char* dest`和`const char* src`,其中`dest`是目的地字符串,`src`是源字符串。 函数通过循环遍历源字符串,将每个字符逐个复制到目的地字符串,直到遇到源字符串的结束符`\0`。循环中,通过将源字符串和目的地字符串的指针`src`和`dest`递增,实现了字符的逐个拷贝。 最后,将目的地字符串的结束符`\0`添加到目的地字符串的末尾,确保目的地字符串以`\0`结束。 在`main()`函数中,我们声明了两个字符数组,`src`和`dest`,并初始化`src`为`"Hello, World!"`。然后,我们调用`mystrcpy(dest, src)`来拷贝`src`到`dest`。最后,打印出拷贝后的目的地字符串`dest`。 运行程序,输出结果为: ``` 拷贝后的字符串为:Hello, World! ``` 这说明函数成功地将源字符串拷贝到了目的地字符串中。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值