首先是使用庫函式
比如下面程式碼
void ourStrCopy(char S1[] , char S2[]){ strcpy(S1, S2); //該函式還有另一個版本可以按長度擷取 }
還有一個函式是memcpy,這個是記憶體複製,原型是
void memcpy(void *dest, const void *src, size_t n);需要注意的是這個函式第一個和第二個指標都是void型且第二個指標不能被修改,第三個引數是需要複製的記憶體長度按位元組記。
然後是用指標引用,注意這個並非賦值,而是引用,這種操作需要注意記憶體。
char s1[] = "abcdefg";//定義一組字串char *s2 = s1;//按照指標複製字串
第三種方法就是直接賦值了
void outStrCopy(char s1[] , char s2[]){ int len1 = strlen(s1);//獲取第一個字串的長度 int len2 = strlen(s2);//獲取第二個字串的長度 int len = 0; //字串總長度 if(len1 <= len2){ len = len2; //選擇COPY的長度 }else{ len = len1; } for(int i = 0 ; i < len ; i++){ s1[i] = s2[i]; //實現資料複製 }}
首先是使用庫函式
比如下面程式碼
void ourStrCopy(char S1[] , char S2[]){ strcpy(S1, S2); //該函式還有另一個版本可以按長度擷取 }
還有一個函式是memcpy,這個是記憶體複製,原型是
void memcpy(void *dest, const void *src, size_t n);需要注意的是這個函式第一個和第二個指標都是void型且第二個指標不能被修改,第三個引數是需要複製的記憶體長度按位元組記。
然後是用指標引用,注意這個並非賦值,而是引用,這種操作需要注意記憶體。
char s1[] = "abcdefg";//定義一組字串char *s2 = s1;//按照指標複製字串
第三種方法就是直接賦值了
void outStrCopy(char s1[] , char s2[]){ int len1 = strlen(s1);//獲取第一個字串的長度 int len2 = strlen(s2);//獲取第二個字串的長度 int len = 0; //字串總長度 if(len1 <= len2){ len = len2; //選擇COPY的長度 }else{ len = len1; } for(int i = 0 ; i < len ; i++){ s1[i] = s2[i]; //實現資料複製 }}