zoukankan      html  css  js  c++  java
  • C语言实现的PadLeft,在str的左边使用bychar补齐为指定的长度

    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

  • 相关阅读:
    python闭包&深浅拷贝&垃圾回收&with语句
    Python基本数据类型
    面向对象
    四则运算2
    周总结01
    软件工程个人作业01
    java web中乱码的种类和一些解决方式
    java web 增加信息课堂测试00
    课程00作业
    动手动脑07
  • 原文地址:https://www.cnblogs.com/MysticBoy/p/1450897.html
Copyright © 2011-2022 走看看