LR测试过程有时经常会遇到报文中数据类型,固定16,实际数据只有10位,前面补0;或者字符串时,固定20位位数不足时前面空格的要求。
c语言中,可以使用如方法进行处理。
//字符变化为定位字符
// str1,原字符串,
// len,增补后数据长度,
// str2,补位字符,
// flag,标志位,1表示左边补位,0表示右边位
void formatString(char *str1,int len,char str2,int flag){
int i =0;
int j;
char str4[100];
memset(&str4,0x0,100);
j = len-strlen(str1);
for(i;i<j;i++){
*(str4+i)=str2;
}
if(flag == 1){
strcat(str4,str1);
strcpy(str1,str4);
}else{
strcat(str1,str4);
}
}
java语言版本:
/*
处理字符串,进行前后补位
resultString ,表原字符串
length,处理后要求长度
flag,1表示前面增加,0表示后增加
str1,要补位的字符串
*/
public static String formmatString1(String resultString ,int length,int flag,String str1){
for(;resultString.getBytes().length<length;){
if(flag == 1){
resultString = str1+resultString ;
}
else{
resultString = resultString +str1;
}
}
return resultString;
}