程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C言語 strcpy和memcpy區別詳細引見

C言語 strcpy和memcpy區別詳細引見

編輯:關於C++

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

感激閱讀,希望能協助到大家,謝謝大家對本站的支持!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved