char类型前面补0

int charadd0(const char* pst,char* dest,int len)   //pst输入in,dest输出out,len制定长度,限制范围1~180
{
     int ret;
     char tmp[200];
     if(pst == NULL || dest == NULL || len<1 || len>180)
     {
         return -1;
     }

     ret = strlen(pst);
     //长度不足,前补0
     if(ret < len)
     {
         memset(tmp,0x00,sizeof(tmp));
         memset(tmp,0,len);
         memcpy(tmp+len-ret,pst,ret);
         memcpy(dest,tmp,len);
     }
     else
     {
         memcpy(dest,pst,len);
     }

     return 0;
}

像这样直接可调用:

charadd0("WH",st_REGIST.TW,3);//把“WH”赋值给结构体中的st_REGIST.TW,长度3B


版权声明:本文为Abby0122原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。