strcpy函數(shù)其實是一種替換函數(shù),用arr2中的元素去替換arr1中的元素,如果不夠的話就會補上’\0’
你所需要的網(wǎng)站建設服務,我們均能行業(yè)靠前的水平為你提供.標準是產(chǎn)品質(zhì)量的保證,主要從事做網(wǎng)站、成都做網(wǎng)站、企業(yè)網(wǎng)站建設、移動網(wǎng)站建設、網(wǎng)頁設計、品牌網(wǎng)站制作、網(wǎng)頁制作、做網(wǎng)站、建網(wǎng)站。成都創(chuàng)新互聯(lián)擁有實力堅強的技術研發(fā)團隊及素養(yǎng)的視覺設計專才。strcpy函數(shù)的數(shù)據(jù)類型char* strcpy(char* destination,const char* source);
這個函數(shù)的兩個參數(shù)分別是拷貝的終點和拷貝的源頭
strcpy函數(shù)的運用例如我想把arr2數(shù)組拷貝到arr1數(shù)組中
此時我只需要寫代碼
int main()
{char arr1[] = "abcdefg";
char arr2[] = "hello";
strcpy(arr1,arr2);
return 0;
}
原理:把arr2拷貝到arr1的數(shù)組里面的時候把\0也一樣的拷貝過去了,最后arr2和arr1中存放的都是hello\0這幾個元素
運行結果并且進行打印,結果如下:
即strcpy函數(shù)會對拷貝終點數(shù)組的原來元素進行覆蓋處理
my_strcpy(char* dest, char* source)
{assert(dest != NULL);
assert(source != NULL);
while (*source != '\0')
{*dest = *source;
dest++;
source++;
}
*dest = *source;
}
解釋:
①assert是保證這兩個指針不是空指針
最后一句代碼是把\0也拷貝到dest數(shù)組中
my_strcpy(char* dest, char* source)
{assert(dest != NULL);
assert(source != NULL);
while (*dest++ = *source++)
{;
}
}
解釋:
①首先運用了先解引用然后后置++,可以替換掉方法一的兩個繁瑣的++
②while括號表達式中其實是source的值,當source找到了\0后會自動跳出
ps:當賦值表達式放在了判斷情況的時候,返回的是右邊的值
①源字符串必須要以\0結束
②會把源字符串的\0拷貝到目標字符串中
③目標空間必須足夠大,以確??梢源娣旁址?br />④目標空間必須可變,即不可以是const修飾的或是常量字符串
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧