【C语言】strcpy(),strcat(), strcmp()函数的实现

来源:互联网 发布:我的世界局域网java 编辑:程序博客网 时间:2024/05/16 18:50
1.strcpy
函数名: strcpy

功 能: 拷贝一个字符串到另一个

用 法: char *strcpy(char *destin, char *source);

代码:


#include <stdio.h>#include <string.h>#include <assert.h>char * my_strcpy(char *dst, char const *src){char *ret = dst;assert(dst != NULL && src != NULL);while (*dst++ = *src++){NULL;}return ret;}int main(){char str[20];char *p = "My name is LiMing!";printf("%s\n", my_strcpy(str, p));getchar();return 0;}




2、strcat
  函数名: strcat
  功 能: 字符串拼接函数
  用 法: char *strcat(char *destin, char *source);

      代码:


<pre name="code" class="html">#include <string.h>#include <stdio.h>#include <assert.h>char *my_strcat(char *str1, char const *str2){char *ret = str1;assert(str1);assert(str2);while (*str1 != '\0'){str1++;}while (*str1++ = *str2++){NULL;}return ret;}int main(){char str[10] = "abcd";char *p = "efgh";char *ch = my_strcat(str, p);printf("%s\n", ch);getchar();return 0;}


3、strcmp
  函数名: strcmp
  功 能: 字符串比较
  用 法: int strcmp(char *str1, char *str2);
  依据Asic码,str1>str2,返回值为 1;两串相等,返回0;str1<str2,返回值为 -1

      代码:

#include <stdio.h>#include <string.h>#include <assert.h>int my_strcmp(char const *str1, char const *str2){assert(str1);assert(str2);while (*str1 == *str2){if (*str1 == '\0')return 0;str1++;str2++;}if (*str1 > *str2)return 1;elsereturn -1;}int main(){char *str1 = "abccadsad";char *str2 = "abcdvda";int ret = my_strcmp(str1, str2);printf("%d\n", ret);getchar();return 0;}



1 0