|
在实际工作中常常遇到在一个字符串前放置前导字符的情况。还有在银行里账户号常常是固定字长,甚至第一位是零。
下面以具有特殊性的零为例给出一个实例。之所以说具有特殊性是由于在Excel里一般情况下常常去掉最前面的零,当然
你也可以填加其它非零字符(ASCII字符)。
引出一个实际问题,由于测试数据放到了Excel里,结果去掉了最前面的零,而在Loadrunner脚本中又需要它,这时需要把它放回前导位置
,那么可以使用下面的函数。
代码: /*PadToString函数说明:在指定的字符串前面填加前导字符
输入参数说明:
strCharToPad - 被填充的字符串变量。如:123
strFinal - 接受最终填充字符串变量。形如000123。
iFinalLength - 填充后最后字符串长度。如:9。
strValueToAdd - 填充的字符,必须是一个字符。如 "0"
输出结果:
在Loadrunner中做参数化,用strFinal作为参数变量。运行后strFinal的值就是输出结果。
*/
int PadToString(char* strCharToPad, char* strFinal, int iFinalLength, char* strValueToAdd){
char strTemp[1024] = "";
int iLoop = 0;
int iMainLoop = 0;
int iSubLoop = 0;
for(iMainLoop = 0; iMainLoop < iFinalLength; iMainLoop++){
if (iMainLoop == strlen(strCharToPad )) {
iLoop = iFinalLength - iMainLoop;
for (iSubLoop = 0; iSubLoop < iLoop; iSubLoop++) {
strcat(strTemp, strValueToAdd);
}
}
}
strcat(strTemp, strCharToPad);
lr_save_string(strTemp, strFinal);
}
复制代码注:每次只能填充一种字符。如:000123或AAA123.
功能更大强大的需要大家来补充。
本文来自: 天天测试交流(http://www.365testing.com/bbs/) 详细文章参考:http://www.365testing.com/bbs/thread-20758-1-1.html |
|