strcpy函式的百科中給出了各種情況的詳細說明,這裡,僅給出一些注意事項:
1、strcpy的函式原型是:
1/*dest(destination)為目標字串,src(source)為原字串*/2
char *strcpy(char *dest,const
char *src);
注:c++中strcpy函式在cstring標頭檔案中,即:#include。
2、功能:
將src位址開始且含有null結束符的字串複製到以dest開始的位址空間中。
值得注意的是:src和dest所指記憶體區域不可以重疊且dest必須有足夠的空間來容納src的字串,即不重疊且目標字串的位址夠大。另外函式的返回值是指向dest的指標。
3、實現
1char *strcpy(char *dest,const
char *src)
2
針對**實現的說明:
a)第三行:指標一定要先檢查其有效性;另外,檢查有效性時,最好不要用( !dest&& !src),在本例中char *轉換為bool即是型別隱式轉換,這種功能雖然靈活,但更多的是導致出錯概率增大和維護成本公升高;
c)第五行:將src字串複製到dest時,要將其結尾的 '\0' 也要複製過來,
d)第六行:返回dest的原始值使函式能夠支援鏈式表示式。如:
1int len=strlen(str(stra,strb));
更多詳見strcpy函式的百科。
strcpy函式的實現
感謝分享!cpp view plain copy char my strcpy char dst,const char src 如果注意到 1,檢查指標有效性 2,返回目的指標des 3,源字串的末尾 0 需要拷貝。寫出上面實現函式就不在話下。然而這樣的實現沒有考慮拷貝時記憶體重疊的情況,下面的測試...
strcpy函式的實現
大家一般認為名不見經傳strcpy函式實現不是很難,流行的strcpy函式寫法是 cpp view plain copy char my strcpy char dst,const char src 如果注意到 1,檢查指標有效性 2,返回目的指標des 3,源字串的末尾 0 需要拷貝。寫出上面實現...
strcpy函式的實現
strcpy函式的實現 已知strcpy函式的原型是 char strcpy char dst,const char src 實現strcpy函式 解釋為什麼要返回char 假如考慮dst和src記憶體重疊的情況,strcpy該怎麼實現 1.strcpy的實現 char strcpy char ds...