c++面試題字符串拷貝函數(shù)示例
#include<iostream>
using namespace std;
//字符串拷貝函數(shù)
char * sCpy(char *strDest, char *strSource)
{
_ASSERT((strDest != NULL) && (strSource!=NULL));
char *d = strDest; //獲取dest的當前位置
char *s = strSource; //獲取source的當前位置
while ((*d++ = *s++) != '\0') //未到最后一位,作循環(huán)
{
}
*d = '\0'; //補充最后一位
return strDest;
}
int main()
{
char *strSource = "hello,world";
char *strDest = new char[strlen(strSource)+1]; //注意,strlen函數(shù)的返回長度是不包括'\0'的,所以要加1
_ASSERT(strDest != NULL);
char *strReturn = sCpy(strDest,strSource);
cout<<"形參返回值"<<strDest<<endl;
cout<<"函數(shù)返回值"<<strReturn<<endl;
//不作釋放操作也應該是沒問題的,主線程退出后系統(tǒng)會回收資源
delete strSource,strDest,strReturn;
strSource = strDest = strReturn = NULL;
return 0;
}
strcpy(str1,str2)函數(shù)能夠?qū)tr2中的內(nèi)容復制到str1中,為什么還需要函數(shù)返回值?應該是方便實現(xiàn)鏈式表達式,比如:
int i_length = strlen(strcpy(str1,str2));
相關文章
詳解數(shù)據(jù)結(jié)構(gòu)C語言實現(xiàn)之循環(huán)隊列
在我們生活中有很多隊列的影子,可以說與時間相關的問題,一般都會涉及到隊列問題;本文詳細介紹了如何使用C語言實現(xiàn)循環(huán)隊列,下面一起來看看。2016-07-07
VC++植物大戰(zhàn)僵尸中文版修改器實現(xiàn)代碼
這篇文章主要介紹了VC++植物大戰(zhàn)僵尸中文版修改器實現(xiàn)代碼,可實現(xiàn)植物大戰(zhàn)僵尸中的無限陽光與無冷卻時間功能,需要的朋友可以參考下2015-04-04
QT利用QPdfWriter實現(xiàn)繪制PDF(支持表單輸出)
這篇文章主要為大家詳細介紹了QT如何利用QPdfWriter實現(xiàn)繪制PDF,并可以支持表單輸出。文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2023-01-01
C語言數(shù)據(jù)結(jié)構(gòu)之循環(huán)鏈表的簡單實例
這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)之循環(huán)鏈表的簡單實例的相關資料,需要的朋友可以參考下2017-06-06
C語言全方位講解指針與地址和數(shù)組函數(shù)堆空間的關系
指針是C語言中一個非常重要的概念,也是C語言的特色之一。使用指針可以對復雜數(shù)據(jù)進行處理,能對計算機的內(nèi)存分配進行控制,在函數(shù)調(diào)用中使用指針還可以返回多個值2022-04-04

