這期內容當中小編將會給大家帶來有關c語言中strcpy函數的用法,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
strcpy,即string copy(字符串復制)的縮寫。
strcpy是一種C語言的標準庫函數,strcpy把從src地址開始且含有'\0'結束符的字符串復制到以dest開始的地址空間,返回值的類型為char*。
通俗解釋
定義一個字符串char a[20],和一個字符串c[]=“i am a teacher!”;
把c復制到a中就可以這樣用:strcpy(a,c);
這個函數包含在頭文件 <string.h>中.
C語言標準庫的寫法
//C語言標準庫函數strcpy的一種典型的工業級的最簡實現。
//返回值:目標串的地址。
//對于出現異常的情況ANSI-C99標準并未定義,故由實現者決定返回值,通常為NULL。
//參數:des為目標字符串,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++));的解釋:賦值表達式返回左操作數,所以在賦值'\0'后,循環停止。用法
這是C語言里面復制字符串的庫函數, 函數聲明包括在專門處理字符串的頭文件<string.h>中:
char * strcpy( char * dst, const char * src );
這個函數把字符串src復制到一分配好的字符串空間dst中,復制的時候包括標志字符串結尾的空字符一起復制。操作成功,返回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 語言和 C++語言風格輕松、靈活,語法限制寬松,因而受到各類程序員的歡迎,是比較通用的編程語言,
同時也是各大院校計算機專業的基本語言課程。strcpy 函數由于不對數組邊界進行檢查,而非常容易造成各種
緩沖區溢出的漏洞。這些漏洞很容易被利用,而造成嚴重的系統問題。在使用 strcpy 函數時,要小心謹慎。
上述就是小編為大家分享的c語言中strcpy函數的用法了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。