LoadRunner字串處理 - 補齊字串

TIB發表於2010-03-29

 

有些時候需要在某個字串的前面用0補齊,以便滿足長度的格式要求。

 

LoadRunner中可以封裝出一個函式來處理這種問題:

/*

Function to pad a string to x characters adding the required character at the start of the string

(Note string length limited by length of the array)

 

Author: Steven Woodcock, Sopra Group

 

Inputs:

strCharToPad - The String that requires to be padded out i.e. "123456"

cParamName - The name of the parameter you want the end value to be saved to

iValLength - The length you want the string to be padded out to i.e. 9

cValueToAdd - The character you want to pad the string out with, must be a single character i.e. "0"

 

Outputs:

Creates a LoadRunner parameter of a name specified in the input 'cParamName'

 

*/

int lr_padstr(char* cCharToPad, char* cParamName, int iValLength, char* cValueToAdd){

       char cTemp[1024] = "";

       int iLoop = 0;

       int iMainLoop = 0;

       int iSubLoop = 0;

 

       for(iMainLoop = 0; iMainLoop < iValLength; iMainLoop++){

              if (iMainLoop == strlen(cCharToPad)) {

                     iLoop = iValLength - iMainLoop;

                     for (iSubLoop = 0; iSubLoop < iLoop; iSubLoop++) {

                            strcat(cTemp, cValueToAdd);

                     }

              }

             

       }

 

       strcat(cTemp, cCharToPad);

       lr_save_string(cTemp, cParamName);

}

 

 

lr_padstr可以在指定字串前補齊指定長度的某個字元,然後把修改後的字串存入LoadRunner引數中。把以上程式碼放到lr_padstr.h標頭檔案中,在LoadRunner指令碼中引用:

#include "lr_padstr.h"

 

Action()

{

       //     For the lr_padstr function

              char * cShortValue = "123";

 

 

       //     For the sprintf function

              char cPaddedValue[8] ="";

              int iShortValue = 123;

              int i;

 

 

       //     The lr_padstr function, written by Steven Woodcock can be used to pad with zeroes

              lr_padstr(cShortValue,"pPaddedParameter",8,"0");

              lr_output_message("Padded value is %s", lr_eval_string("{pPaddedParameter}"));

 

 

       //     The PadToX function can also be used to pad with other characters (e.g. x)

              lr_padstr(cShortValue,"pPaddedParameter",8,"x");

              lr_output_message("Padded value is %s", lr_eval_string("{pPaddedParameter}"));

 

       return 0;

}

 

 

 

 

參考:

http://www.bish.co.uk/~richardmjbishop/index.php?option=com_content&view=article&id=85%3Asample-loadrunner-script-pad-a-string-with-leading-zeroes&catid=34%3Arecent&Itemid=1

 

相關文章