标签:
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
/*
mystrcpy:
复制字符串from 中的字符到字符串to,
包括空值结束符。
*/
/*
mystrcmp:
比较字符串str1 and str2
返回值 解释
less than 0 str1 is less than str2
equal to 0 str1 is equal to str2
greater than 0 str1 is greater than str2
*/
/*
mystrcat:
函数将字符串str2 连接到str1的末端
*/
/*
mystrlen:
函数返回字符串str 的长度( 即空值结束符之前字符数目)。
*/
void mystrcpy(char *to, const char *from);
int mystrcmp(const char *str1, const char *str2);
void mystrcat(char *str1, const char *str2);
size_t mystrlen(char *str);
int main(){
char str1[20] = "abcdfg";
char str2[] = "abcde";
//mystrcat(str1,str2);
//mystrcpy(str1,str2);
printf("%d\n",mystrlen(str1));
system("pause");
return 0;
}
void mystrcpy(char *to, const char *from){
assert((to != NULL) && (from != NULL));
while ((*to++ = *from++) != ‘\0‘);
*to = ‘\0‘;
}
int mystrcmp(const char *str1, const char *str2){
assert((str1 != NULL) && (str2 != NULL));
for (; (*str1) && (*str2) && (*str1 == *str2);++ str1,++ str2);
return (*str1 - *str2);
}
void mystrcat(char *str1, const char *str2){
assert((str1!=NULL) && (str2!=NULL));
char* ret = str1;
for (; *str1 != ‘\0‘; ++str1);
while ((*str1++ = *str2++) != ‘\0‘);
}
size_t mystrlen(char *str){
assert(str != NULL);
size_t length = 0;
for (; *str++ != ‘\0‘;length ++);
return length;
}
实现mystrcpy(), mystrcmp(), mystrcat(), mystrlen()
标签:
原文地址:http://www.cnblogs.com/mutaohengheng/p/5108026.html