C++语言MyStrcpy的实现
strcpy是一个系统函数,这个系统函数的实现有时候面试会考。
让你不调用任何函数,实现strcpy的功能!
这里就不多说了。直接上代码!
1 #include <iostream>
2 #include <string.h>
3 #include <stdio.h>
4 using namespace std;
5
6 char *mystrcpy(char *strDest,const char *strSrc)
7 {
8 while(*strSrc != '\0')
9 {
10 *strDest = *strSrc;
11
12 strSrc++;
13 strDest++;
14 }
15 //若不把最后的'\0'也拷贝,则会把内存中的ASCLL码也输出
16 *strDest = *strSrc;
17 return strDest;
18 }
19
20 int main(int argc, const char *argv[])
21 {
22 char a[100];
23 char b[100];
24
25 while(1)
26 {
27 printf("请输入你想要拷贝的字符串:a=\n");
28 scanf("%s", a);
29
30 printf("---------------------------------------------\n");
31
32 mystrcpy(b, a);
33 printf("调用我的Strcpy输出的结果:b=%s\n", b);
34
35 strcpy(b, a);
36 printf("调用系统strcpy输出的结果:b=%s\n", b);
37
38 printf("\n");
39 }
40 return 0;
41 }
这个代码已经很详细很具体了!
这里上一张我试验结果的图片。