C言語 strcpy和memcpy區別詳細引見。本站提示廣大學習愛好者:(C言語 strcpy和memcpy區別詳細引見)文章只能為提供參考,不一定能成為您想要的結果。以下是C言語 strcpy和memcpy區別詳細引見正文
C言語 strcpy和memcpy區別詳細引見
PS:初學算法,開端刷leetcode,Rotate array的預備知識(寫的代碼Time Limit Exceed憂傷)於是百度高效算法,本篇作為預備知識。
1、strcpy和strncpy函數
這個不生疏,大一學C言語講過,其普通方式為strcpy(字符數組1,字符串2)作用是將字符串2復制到字符數組1中去。
EX:
char str1[10]='',str2[]={"China"}; strcpy(str1,str2);
strncpy(str1,str2,2);作用是將str2中最後面2個字符復制到str1中,取代str1中原有的最後面2個字符。
2、memcpy函數
c和c++運用的內存拷貝函數,memcpy函數的功用是從源src所指的內存地址的起始地位開端拷貝n個字節到目的dest所指的內存地址的起始地位中。
用法:void *memcpy(void *dest, const void *src, size_t n);
EX:
char *s1 = "csdn"; char *s2 = new char[10]; char *s3 = memcpy(s2,s1,5);
3、strcpy和memcpy的區別。
1、復制的內容不同。strcpy只能復制字符串,而memcpy可以復制恣意內容,例如字符數組、整型、構造體、類等。
2、復制的辦法不同。strcpy不需求指定長度,它遇到被復制字符的串完畢符"\0"才完畢,所以容易溢出。memcpy則是依據其第3個參數決議復制的長度。
3、用處不同。通常在復制字符串時用strcpy,而需求復制其他類型數據時則普通用memcpy
感激閱讀,希望能協助到大家,謝謝大家對本站的支持!