您的位置:首页 > 其它

C的字符串操作函数实现

2018-02-14 18:41 447 查看
strlen函数实现:

int MyStrlen(char * str){
if(str == NULL)
return -1;
int count = 0;
while(*str++ != '\0'){
count ++;
}
return count;
}


strcpy函数实现:

char * MyStrcpy(char * str, const char * str2){
int i = 0;
while(str2[i] != '\0'){
str[i] = str2[i];
i++;
}
str[i] = '\0';
return str;
}


strcat函数实现:

char * MyStrcat(char * str, const char * str2){
while(*str++ != '\0')
;
str--;
int i = 0;
while( str2[i] != '\0'){
str[i]= str2[i];
i++;
}
str[i] = str2[i];
return str;
}


strcmp函数实现:

int  MyStrcmp(const char * str, const char * str2){
int i = 0;
while(str[i] != '\0' || str2[i] != '\0'){
if(str[i] ==
4000
'\0' || str[i] < str2[i])
return -1;
else if(str2[i] == '\0' || str[i] > str2[i])
return 1;
i++;
}
if(str[i] == '\0' && str2[i] == '\0')
return 0;
}


strchar函数实现:

int MyStrchar(const char * str, char ch){
if(str == NULL)
return -1;
int index = -1;
int i = 0;
while(str[i] != ch && str[i] != '\0')
i++;
index = i;
if(str[i] == '\0')
return -1;
return index;
}


strstr函数实现:

int MyStrstr(const char * str, const char * str2){
int index = -1;
int i = 0;
if(*str2 == '\0' || *str == '\0')
return index;
while(str[i] != '\0'){
int j = 0;
while(str2[j] == str[i+j] && str2[j] != '\0'){
j++;
}
if(str2[j] == '\0')
return index = i;
i++;
}
if(str[i] == '\0')
return index;
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: