C++面試題之字符串的拷貝

//字符串的拷貝
//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函數來作對比,看看是否有錯。
若大家看出有錯,麻煩指出,一起學習!! ^_^

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章