字符串操作函数实现strcpy() strcmp()...

来源:互联网 发布:手机掌上贵金属软件 编辑:程序博客网 时间:2024/05/19 00:52
strcpy()    复制字符串
char* my_strcpy(char* str1, const char* str2){char* ret = str1;assert(str1 != NULL);assert(src != NULL);while ((*str1++ = *str2++) != '\0'){;}return ret;}

strcat()  添加字符串

char* my_strcat(char *str1, char *str2){char* ret = str1;assert(dest != NULL);assert(src != NULL);while (*str1 != '\0') str1++;while (*str2 != '\0') *str1++ = *str2++;*str1 = '\0';return ret;}
strcmp()  字符串比较

int strcmp(const char *str1, const char *str2){assert(str1 != NULL);assert(str2 != NULL);while ((*str1 == *str2) && (*str1 != '\0')){str1++;str2++;}return *str1 - *str2;}

strlen()  字符串求长度

int my_strlen(const char*str){int count = 0;assert(str != NULL);while (*str++ != '\0'){count++;}return count;}


strncpy()  复制指定长度字符串

char* my_strncpy(char* dest, const char* src, int len){assert(dest);assert(src);char* temp = dest;int i = 0;while (i++ < len && (*temp++ = *src++) != '\0'){}return dest;}


strncmp()  比较指定长度字符串

int my_strncmp(const char *s1, const char *s2, int n){assert(s1);assert(s2);while (*s1 != '\0'&&*s2 != '\0'&&n){if (*s1 - *s2>0)return 1;if (*s1 - *s2<0)return -1;s1++;s2++;n--;}if (*s1 == '\0'&&*s2 != '\0')return -1;if (*s2 == '\0'&&*s1 != '\0')return 1;return 0;         }

strncat()  添加指定长度字符串

char *my_strncat(char *dest, const char *str, int n){assert(dest);assert(str);char *cp = dest;while (*++cp != '\0'){}while (--n && (*cp++ = *str++) != '\0'){}return dest;}



阅读全文
1 0
原创粉丝点击