ilove51 发表于 2010-4-28 08:24:14

如何在一个字符串中填充前导字符?

在实际工作中常常遇到在一个字符串前放置前导字符的情况。还有在银行里账户号常常是固定字长,甚至第一位是零。
下面以具有特殊性的零为例给出一个实例。之所以说具有特殊性是由于在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 = "";

      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:01

没人顶,自己顶。:lol

PrefTest 发表于 2010-4-29 10:53:20

这里有个类似的:
http://blog.csdn.net/Testing_is_believing/archive/2010/03/29/5429151.aspx

ilove51 发表于 2010-5-2 14:50:49

五一前来顶:lol
页: [1]
查看完整版本: 如何在一个字符串中填充前导字符?