字符串

自我定义字符串函数

一.strcpy

void Mystrcpy(char *des,const char *src)//复制
{
 assert(des!=NULL && src!=NULL);

 if(des==NULL || src==NULL)
 {
  return ;
 }
 

while(*src != '\0')
 {
  *des++ = *src++;
 }
 *des = '\0';
}
int main()
{
 char arr[100];
 char brr[]="abc";

 Mystrcpy(arr,brr);
 printf("%s",arr);
}

二.strcat

void Mystrcat(char *arr,const char *brr)//链接
{
 assert(arr!=NULL && brr!=NULL);

 while(*arr!='\0')
 {
  *arr++;
 }

 while(*brr!='\0')
 {
  *arr++=*brr++;
 }
 *arr='\0';
}
int main()
{
 char arr[100]="abc";
 char brr[]="xyz";
 

Mystrcat(arr,brr);
 printf("%s",arr);
}

三.strcmp

int Mystrcmp(const char *str1,const char *str2)//比较大小
{
 int tmp;
 
while((tmp=*str1 - *str2)==0 && *str1!='\0')
 {
  str1++;
  str2++;
 }
 return tmp;
}
int main()
{
 char arr[]="abc";
 char brr[]="acb";

 printf("%d\n",Mystrcmp(arr,brr));
}

四.strlen
int Mystrlen(const char *str)//有效字符长度
{
 int i;
 
 for(i=0;str[i]!='\0';i++);
 
 return i;
}
int main()
{
 char str[]="abcde";

 printf("%d\n",Mystrlen(str));
}

五.atoi
int Myatoi(const char *str)//"123"->123,"12a3"->12字符串变数字
{
 int tmp = 0;

 while(isdigit(*str))
 {
  tmp = tmp*10 + *str - '0';
  str++;
 }
 return tmp;
}
int main()
{
 char arr[]="158a5";
 
printf("%d\n",Myatoi(arr));//158
}

六.itoa
void Reverse(char *str)//"abc"->"cba"
{
  char tmp;
  char *cp;
 
 for(cp=str;*cp!='\0';cp++) ;

 for(cp--; str<cp; str++,cp--)
 {
  tmp = *str;
  *str = *cp;
  *cp = tmp;
 }
}
void Myitoa(char *str,int num)//1234567->"7654321"->"1234567"数字变字符串
{
 char *p = str;

 while(num!=0)
 {
  *str = (num%10) + '0';
   num /= 10;
   str++;
 }
  *str = '\0';

  Reverse(p);
}
int main()
{
 int num=1234567;
 char str[10];
 
 Myitoa(str,num);
 printf("%s\n",str);
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值