c 庫函式 char *strcpy(char *dest, const char *src) 把 src 所指向的字串複製到 dest。
需要注意的是如果目標陣列 dest 不夠大,而源字串的長度又太長,可能會造成緩衝溢位的情況。
char *strcpy(char *dest, const char *src)
該函式返回乙個指向最終的目標字串 dest 的指標。
案例:
要求使用者輸入以q開頭的單詞,該程式把輸入拷貝到乙個臨時陣列中,如果第乙個單詞的開頭是q,程式呼叫strcpy()函式把整個字元從臨時陣列temp拷貝到目標陣列qword中
/*
* @author: your name
* @date: 2020-02-24 14:35:13
* @last modified by: your name
* @last modified time: 2020-02-24 14:48:42
*/#include
#include
#include
#define size 40
#define lim 5
char
*s_gets
(char*,
int)
;int
main()
else
}puts
("here are the words accepts:");
for(
int i =
0;i<
5;i++
)getchar()
;return0;
}char
*s_gets
(char
*str,
int n)
if(str[i]
=='\n'
)else}}
return rev;
}
下面這兩句**等效:
if
(temp[0]
!='q'
);
if
(strncmp
(temp,
"q",1)
!=0);
而下面的語句是錯誤案例:
char
*str;
strcpy
(str,
"the c of tranquility"
);
strcpy()
把"the c of tranquility"
拷貝到str
指向的位址上,但是str
未被初始化,所以該字串可能被拷貝到任意的地方。
strcpy()
的返回型別是char *
,該函式返回的是乙個字元的位址。
第乙個引數不必指向陣列的開始,這個特性可用於拷貝陣列的一部分。
下面這個程式演示了將乙個字串拷貝到另乙個字元陣列的指定位置:
/*
* @author: your name
* @date: 2020-02-24 14:35:13
* @last modified by: your name
* @last modified time: 2020-02-24 15:26:57
*/#include
#include
#include
#define words "beast"
#define size 40
intmain()
下面是該程式的輸出:
beast
be the best that you can be.
be the beast
beast
注意:具體如下:
strcpy()
把源字元的空字元也拷貝進去所以空字元覆蓋了
copy
陣列中that
的第乙個t
由於第乙個引數是
copy+7
,所以ps
指向copy
中的第8個元素,因此puts(ps)
從該處開始列印
strcpy 函式詳解
strcpy 函式是c語言中的乙個複製字串的庫函式,以下將詳細解釋說明一下 char strcpy char dst,const char src char strcpy char dst,const char src 1 const 修飾 源字串引數用const修飾,防止修改源字串 2 空指標檢查...
strcpy函式的原型及其分析
最近在讀林銳博士的 高質量c 程式設計 裡面有一道關於strcpy 函式的題目 已知 strcpy 函式的原型是 char strcpy char strdest,const char strsrc 其中 strdest 是目的字串,strsrc 是源字串。1 不呼叫 c c 的字串庫函式,請編寫函...
C語言strcpy庫函式詳解
目錄 1.從上面的msdn關於strcpy庫函式的簡介中,我們可以知道,傳進函式的第乙個引數是目標陣列,也就是用來接收被拷貝的字串,第二個引數是源頭陣列,也就是將這個引數的字串拷貝www.cppcns.com到目標陣列裡面去。一定要注意目標陣列的空間大小一定要比源頭陣列的空間大小大,不然即使拷貝成功...