51Testing软件测试论坛
标题:
如何在一个字符串中填充前导字符?
[打印本页]
作者:
ilove51
时间:
2010-4-28 08:24
标题:
如何在一个字符串中填充前导字符?
在实际工作中常常遇到在一个字符串前放置前导字符的情况。还有在银行里账户号常常是固定字长,甚至第一位是零。
下面以具有特殊性的零为例给出一个实例。之所以说具有特殊性是由于在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
作者:
ilove51
时间:
2010-4-29 00:31
没人顶,自己顶。
作者:
PrefTest
时间:
2010-4-29 10:53
这里有个类似的:
http://blog.csdn.net/Testing_is_ ... /03/29/5429151.aspx
作者:
ilove51
时间:
2010-5-2 14:50
五一前来顶
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2