其他分享
首页 > 其他分享> > C语言实现的PadLeft,在str的左边使用bychar补齐为指定的长度

C语言实现的PadLeft,在str的左边使用bychar补齐为指定的长度

作者:互联网

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

char * _padleft;
char * PadLeft(char bychar,char *str,int len )
{
     char *tmpxx;//
     echoic("char bychar %c,char *str %s ,int len %d ",  bychar,  str,  len );
     _padleft=(char *)malloc(len+1);
     tmpxx=(char *)malloc(len*2+1);
    memset(_padleft,0x00,len+1);
    memset(tmpxx,bychar,len*2);//把tmpxx使用bychar初始化。
    tmpxx[len*2+1]=0;
       if (strlen(str)>0)//如果大于0才处理,否则直接去复制指定个数的tmpxx
    {
        memcpy(&tmpxx[len*2-strlen(str)] ,str,strlen(str));
        strncpy(_padleft,(char*)&tmpxx[len],len); 
    }
    else
    {
        strncpy(_padleft,tmpxx,len);
    }
    echoic("||%s||||%s||%s",tmpxx,str,_padleft);
    return _padleft;
}

效果如下:

char bychar @,char *str 2648805676 ,int len 32 
 
||@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@2648805676||||2648805676||@@@@@@@@@@@@@@@@@@@@@@2648805676

转载于:https://my.oschina.net/mysticboy/blog/541357

标签:PadLeft,padleft,tmpxx,C语言,char,bychar,len,str
来源: https://blog.csdn.net/weixin_33851429/article/details/92064639