strcpy strcat strcmp strlen 的实现
#include <stdio.h>
//函数声明
unsigned int strlenght(const char *src);
char* strcopy(char* dest,const char* src);
char* strlink(char* dest,const char* src);
int strcompare(const char* src1,const char*src2);
void main()
{
char arr[100] = "It's wonderful weather!!";
char arr1[20] = "I am\0 fine!";
char *arr2;
printf("%s的长度为:%d\n",arr,strlenght(arr));
printf("%s的长度为:%d\n",arr1,strlenght(arr1));
arr2 = strlink(arr,arr1);
printf("%s\n%s\n",arr2,arr);
printf("%s %s %d\n",arr1,arr,strcompare(arr1,arr));
printf("%s\n%s\n",strcopy(arr,arr1),arr);
}
//strlen
unsigned int strlenght(const char *src)
{
unsigned int len = 0;
while(*src++)
{
len++;
}
return len;
}
//strcat
char* strlink(char* dest,const char* src)
{
char *temp = dest;
while(*dest++);
*dest--;//移动到\0前一个元素处
while(*dest++=*src++);
return temp;
}
//strcpy
char* strcopy(char* dest,const char* src)
{
char *temp = dest;
while(*dest++ = *src++);
return temp;
}
//strcmp
int strcompare(const char* src1,const char*src2)
{
int x=0;
While(!(x = *src1-*src2) && *src1)
{
src1++;
src2++;
}
if(x>0)
x = 1;
if(x<0)
x = -1;
return x;
}
strlen函数原型:unsigned int strlen(const char *);返回的是字符串中第一个\0之前的字符个数。