string系列函数实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了string系列函数实现相关的知识,希望对你有一定的参考价值。
;string系列函数
int main(int argc, char* argv[]){
char str1[100]="hello";
char str2[100]="helloChina";
char str3[100]="heool";
//int len=myStrLen((char *)&str1);
//myStrCpy((char *)&str2,(char *)&str1);
//myStrCat((char *)str1,(char *)str2);
//myStrCmp((char *)str1,(char *)str2);
myStrUpr((char *)str3);
return 0;
}
/*
*return string length
*/
int myStrLen(char *str){
int len=0;
while(*str++){
len++;
}
return len;
}
/*
*strcopy 类似右面赋值给左面的赋值语句
*/
char *myStrCpy(char *str1,char *str2){
char *res;
res=str1;
while(*str2){
*res = *str2;
str2++;
res++;
}
*res=‘\0‘;
//while(*res++ = *str2++);
return str1;
}
/*
*把字符串复制连接到str1后面,返回str1地址
*/
char *myStrCat(char *str1,char *str2){
char *res;
res=str1;
while(*res !=0){
res++;
}
while(*str2){
*res = *str2;
str2++;
res++;
}
*res=‘\0‘;
return str1;
}
int myStrCmp(char *str1,char *str2){
while(*str1){
if(*str1!=*str2){
return (*str1)-(*str2);
}
str1++;
str2++;
}
return 0;
}
/*
*ABC to abc 大写字母的ASCII代码是65-90,小写字母的代码是97-112,所以说应该是C+=32
*/
char *myStrLwr(char *str1){
char *res=str1;
while(*str1){
*str1=*str1+32;
str1++;
}
return res;
}
/*
*abc to ABC
*/
char *myStrUpr(char *str1){
char *res=str1;
while(*str1){
*str1=*str1-32;
str1++;
}
return res;
}
;_cinit()
以上是关于string系列函数实现的主要内容,如果未能解决你的问题,请参考以下文章