strcpy strcat等相关函数的实现

来源:互联网 发布:哪里招淘宝主播 编辑:程序博客网 时间:2024/05/23 02:00
#include <stdio.h>#include <assert.h>char* MyStrcpy (char* str1, char* str2){assert (str1 != NULL && str2 != NULL);   // 断言判断 char* str = str1;while ((*str1++ = *str2++) != '\0');return str;}int MyStrlen (char* str){int n = 0;if (str == '\0')return 0;while (*str++ != '\0')n++;return n;}int MyStrcmp (char* str1, char* str2){if (str1 == NULL && str2 == NULL)return 0;int n = 0; int m = 0;while (*str1++ != '\0')n++;while (*str2++ != '\0')m++;if (m == n)return 0;else if (n > m)return 1;elsereturn -1;}char* MyStrcat (char str1[], char* str2){if (str1 == NULL && str2 == NULL)return NULL;if (str1 == NULL)return str2;if (str2 == NULL)return str1;char* strr = str1;int i = 0;while (1){if (str1[i] == '\0')str1[i] = *str2++;if (*str2 == '\0')break;i++;}return strr;}int main (void){char str1[10] = "abc";//char str1[] = "abc";char* str2 = "defg";char* str = MyStrcpy (str1, str2);printf ("%s\n", str);int len = MyStrlen (str1);printf ("%d %d\n", len, sizeof(str2));int n = MyStrcmp (str1, str2);printf ("%d\n", n);int strr = MyStrcat (str1, str2);printf ("%s\n", strr);return 0;}


 

原创粉丝点击