//字符串的拷貝
//1.已知strcpy 函數的原型是:
//char *strcpy(char *strDest, const char *strSrc);
//其中strDest 是目的字符串,strSrc 是源字符串。不調用C++/C 的字符串庫函數,請編寫函數 strcpy
#include <iostream>
#include <string>
using namespace std;
char *_strcpy(char *strDest ,const char *strSrc)
{
while (*strSrc != '\0') {
*strDest = *strSrc;
strSrc++;
strDest++;
}
//若不把最後的'\0'也拷貝,則會把內存中的ASCLL碼也輸出
*strDest = *strSrc;
return strDest;
}
int main(int argc, const char * argv[]) {
char a[100];
char b[100];
while (1) {
printf("請輸入需要拷貝的字符串:\n");
scanf("%s",a);
_strcpy(b , a);
printf("自寫拷貝之後b=%s\n",b);
strcpy(b , a);
printf("系統拷貝之後b=%s\n",b);
}
return 0;
}
我最後用了C++自帶的strcpy函數來作對比,看看是否有錯。
若大家看出有錯,麻煩指出,一起學習!! ^_^