需求是这样的 有个ID对应关系 但是数据文件不统一 有可能是 0001 这种格式 有可能是 1这种
为了保证每次都找到对应的id ,需要增加0或者减去0 代码如下
#include <string.h>
#include <iostream>
using namespace std;
int AddZero(char *f_caID);
int main()
{
char id[255]="0112";
AddZero(id);
printf("%s\n",id);
getchar();
}
int AddZero(char *f_caID)
{
int len=4-strlen(f_caID);
if(len>0){
char *cZeros=new char[4];
strcpy(cZeros,"");
for(int i=0;i<len;i++){
strcat(cZeros,"0");
}
char *cSum=new char[strlen(f_caID)+strlen(cZeros)+1];
strcpy(cSum,cZeros);
strcat(cSum,f_caID);
memset(f_caID,'0',strlen(f_caID));
strcpy(f_caID,cSum);
delete[] cZeros;
delete[] cSum;
return 0;
}
else if(0==len){
char *newChar=new char[255];
strcpy(newChar,"");
int nPos=0;
int NoZeroFlag=0;
while(f_caID[nPos]!='\0'){
if(f_caID[nPos]!='0'){
break;
}
nPos++;
}
strncpy(newChar,f_caID+nPos,strlen(f_caID)-nPos+1);
memset(f_caID,'0',strlen(f_caID));
strcpy(f_caID,newChar);
delete[] newChar;
return 0;
}
}