函數(shù)原型為:
公司主營業(yè)務(wù):做網(wǎng)站、網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出蔡家坡免費(fèi)做網(wǎng)站回饋大家。
void *memcpy(
void *dest,
const void *src,
size_t count
);
其中:
dest:
目標(biāo)內(nèi)存緩沖區(qū)
src:
源內(nèi)存緩沖區(qū)
count:
需要拷貝的字節(jié)數(shù)
通過memcpy()函數(shù)無法確定目標(biāo)緩沖區(qū)的大小,目標(biāo)緩沖區(qū)一般是一個已分配好空間的指針,在分配該空間時一般要先考慮源內(nèi)存緩沖區(qū)的大小,寧愿多分配些空間(即,一般都要分配得比源緩沖區(qū)大),第三個參數(shù)為源緩沖區(qū)中實(shí)際需要拷貝的數(shù)據(jù)的字節(jié)數(shù).
memset函數(shù)用來對一段內(nèi)存空間全部設(shè)置為某個字符,常用于內(nèi)存空間初始化。將已開辟內(nèi)存空間
s
的首
n
個字節(jié)的值設(shè)為值
c
。
下面是一個例子
#include
stdio.h
#include
string.h
main(){
char
*s="golden
global
view";
clrscr();
memset(s,'g',6);
printf("%s",s);
getchar();
return
0;
}
c語言memcpy函數(shù)原型:extern
void
*memcpy(void
*dest,
void
*src,
unsigned
int
count);
用法:#include
string.h
功能:由src所指內(nèi)存區(qū)域復(fù)制count個字節(jié)到dest所指內(nèi)存區(qū)域。
說明:src和dest所指內(nèi)存區(qū)域不能重疊,函數(shù)返回指向dest的指針。
舉例:
//
memcpy.c
#include
syslib.h
#include
string.h
main()
{
char
*s="golden
global
view";
char
d[20];
clrscr();
memcpy(d,s,strlen(s));
d[strlen(s)]=0;
printf("%s",d);
getchar();
return
0;
}
函數(shù)
strchr()
功
能:
在一個串中查找給定字符的第一個匹配之處\
用
法:
char
*strchr(char
*str,
char
c);
程序例:
#include
#include
int
main(void)
{
char
string[15];
char
*ptr,
c
=
'r';
strcpy(string,
"this
is
a
string");
ptr
=
strchr(string,
c);
if
(ptr)
printf("the
character
%c
is
at
position:
%d\n",
c,
ptr-string);
else
printf("the
character
was
not
found\n");
return
0;
}
strcpy()函數(shù)只能拷貝字符串。strcpy()函數(shù)將源字符串的每個字節(jié)拷貝到目錄字符串中,當(dāng)遇到字符串末尾的null字符(\0)時,它會刪去該字符,并結(jié)束拷貝。 memcpy()函數(shù)可以拷貝任意類型的數(shù)據(jù)。因?yàn)椴⒉皇撬械臄?shù)據(jù)都以null字符結(jié)束,所以你要為memcpy()函數(shù)指定要拷貝的字節(jié)數(shù)。 在拷貝字符串時,通常都使用strcpy()函數(shù);在拷貝其它數(shù)據(jù)(例如結(jié)構(gòu))時,通常都使用memcpy()函數(shù)。以下是一個使用strcpy()函數(shù)和memcpy()函數(shù)的例子: #include stdio. h #include string. h typedef struct cust-str {int id ;char last_name [20] ; char first_name[l5];} CUSTREC;void main (void); void main (void){char * src_string = "This is the source string" ; char dest_string[50]; CUSTREC src_cust; CUSTREC dest_cust; printf("Hello! I'm going to copy src_string into dest_string!\n"); / * Copy src_ string into dest-string. Notice that the destination string is the first argument. Notice also that the strcpy() function returns a pointer to the destination string. * / printf("Done! dest_string is: %s\n" , strcpy(dest_string, src_string)) ; printf("Encore! Let's copy one CUSTREC to another. \n") ; prinft("I'll copy src_cust into dest_cust. \n"); / * First, intialize the src_cust data members. * / src_cust. id = 1 ; strcpy(src_cust. last_name, "Strahan"); strcpy(src_cust. first_name, "Troy"); / * Now, Use the memcpy() function to copy the src-cust structure to the dest_cust structure. Notice that, just as with strcpy(), the destination comes first. * / memcpy(dest_cust, src_cust, sizeof(CUSTREC));
你需要的這個函數(shù),C語言本來就有:memcpy
void *memcpy(void *dest, const void *src, size_t n);
函數(shù)的功能是從源src所指的內(nèi)存地址的起始位置開始拷貝n個字節(jié)到目標(biāo)dest所指的內(nèi)存地址的起始位置中。
舉個例子:將s中的字符串復(fù)制到字符數(shù)組d中。
#includestdio.h?
#includestring.h?
int?main()?
{?
char*s="GoldenGlobalView";?
chard[20];?
memcpy(d,s,(strlen(s)+1));?
printf("%s",d);?
getchar();?
return0;?
}