溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

c語(yǔ)言中strcpy函數(shù)的用法

發(fā)布時(shí)間:2020-07-03 16:14:50 來(lái)源:億速云 閱讀:508 作者:元一 欄目:編程語(yǔ)言

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)c語(yǔ)言中strcpy函數(shù)的用法,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

strcpy,即string copy(字符串復(fù)制)的縮寫(xiě)。

strcpy是一種C語(yǔ)言的標(biāo)準(zhǔn)庫(kù)函數(shù),strcpy把從src地址開(kāi)始且含有'\0'結(jié)束符的字符串復(fù)制到以dest開(kāi)始的地址空間,返回值的類(lèi)型為char*。

通俗解釋

定義一個(gè)字符串char a[20],和一個(gè)字符串c[]=“i am a teacher!”;

把c復(fù)制到a中就可以這樣用:strcpy(a,c);

這個(gè)函數(shù)包含在頭文件 <string.h>中.

C語(yǔ)言標(biāo)準(zhǔn)庫(kù)的寫(xiě)法

//C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)strcpy的一種典型的工業(yè)級(jí)的最簡(jiǎn)實(shí)現(xiàn)。
 
//返回值:目標(biāo)串的地址。
 
//對(duì)于出現(xiàn)異常的情況ANSI-C99標(biāo)準(zhǔn)并未定義,故由實(shí)現(xiàn)者決定返回值,通常為NULL。
 
//參數(shù):des為目標(biāo)字符串,source為原字符串。
 
char* strcpy(char* des,const char* source)
 
{
 
 char* r=des;
   
  assert((des != NULL) && (source != NULL));
 
 while((*r++ = *source++)!='\0');
 
 return des;
 
}
 
//while((*des++=*source++));的解釋:賦值表達(dá)式返回左操作數(shù),所以在賦值'\0'后,循環(huán)停止。

用法

這是C語(yǔ)言里面復(fù)制字符串的庫(kù)函數(shù), 函數(shù)聲明包括在專門(mén)處理字符串的頭文件<string.h>中:

char * strcpy( char * dst, const char * src );

這個(gè)函數(shù)把字符串src復(fù)制到一分配好的字符串空間dst中,復(fù)制的時(shí)候包括標(biāo)志字符串結(jié)尾的空字符一起復(fù)制。操作成功,返回dst,否則返回NULL.

示例程序

#include<string.h>
#include <stdio.h>
void main()
{
	char a[20], c[] = "I am a teacher!";
	strcpy(a, c);
	printf(" c=%s\n", c);
	printf(" a=%s\n", a);
}

注意:

C 語(yǔ)言和 C++語(yǔ)言風(fēng)格輕松、靈活,語(yǔ)法限制寬松,因而受到各類(lèi)程序員的歡迎,是比較通用的編程語(yǔ)言,
同時(shí)也是各大院校計(jì)算機(jī)專業(yè)的基本語(yǔ)言課程。strcpy 函數(shù)由于不對(duì)數(shù)組邊界進(jìn)行檢查,而非常容易造成各種
緩沖區(qū)溢出的漏洞。這些漏洞很容易被利用,而造成嚴(yán)重的系統(tǒng)問(wèn)題。在使用 strcpy 函數(shù)時(shí),要小心謹(jǐn)慎。

上述就是小編為大家分享的c語(yǔ)言中strcpy函數(shù)的用法了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI