自己編寫實現字串相關的函式
包括四個基礎的字串操作函式strlen()、strcpy()、strcmp()、strcat()
以及擴充套件的strstr()
還有兩個操作記憶體的memcpy()、memmove()
#define _crt_secure_no_warnings
#include#include#include/*求字串長度的函式*/
int my_strlen1(const char *src) //計數器演算法
return count;
}int my_strlen2(const char *src) //遞迴演算法
int my_strlen3(const char *src) //利用指標做差
/*字串拷貝函式*/
char *my_strcpy(char *dst, const char *src)
void *my_memcpy(void *dst, const void *src, int count)
return ret;
}void *my_memmove(void *dst, const void *src, int count)
else
return ret;
}/*字串比較函式*/
int my_strcmp(const char *str1, const char *str2)
return *str1 - *str2;
}/*字串連線函式*/
char *my_strcat(char *dst, const char *src)
/*求字串子串函式*/
char *my_strstr(const char *src, const char *str)
if (*p2 == '\0')
return ptr;
ptr++;
} return null;
}
字串操作函式實現
該函式的實現如下 void memcpy void dst,const void src,size t n return dst 該函式的實現如下 void memmove void dst,const void src,size t n 若dst的位址與src位址部分重疊 則從高位址開始複製 el...
如何自己實現字串拷貝函式
一般寫法 char my strcpy char dst,const char src 可以看到很簡單,只需考慮三點。1,判斷源字串和目的字串是否為空 2,現將目的位址指標儲存起來,方便輸出 3,遍歷原位址和目的位址,乙個字元乙個字元的複製,包括末尾的 但是上面的實現有問題,沒有考慮到記憶體重合的情...
實現自己的字串拷貝函式Strcpy
strcpy是c語言的庫函式,用於完成字串的拷貝,很多筆試面試過程中要求我們自己實現這個函式。字串拷貝本身並沒有太多技巧,可以利用最後的 0 作為界限,用迴圈完成拷貝,如下 char strcpy char strdst,const char strsrc 迴圈複製 while strdst str...