Loadrunner常用函数
1字符串及数据转换操作函数
1.1常用函数
A.函数介绍
    Strlen(const char *string)
        strcpy(destination_string, source_string); //拷贝一个字符串到另一个字符串中.
              strcat(string_that_gets_appended, string_that_is_appended);//合并字符串
              atoi(string_to_convert_to_int); //returns the integer value 字符串转换为整型
              itoa(integer_to_conver_to_string, destination_string, base); 整型转换为字符串
              strcmp(string1, string2); //比较字符串 0:相同
        stricmp(string1,string2) //区分大小写比较字符串
        strstr(string1,string2) //
        strlwr(const char *string) //将字符串转换为小写
        strupr(const char *string) //将字符串转换为大写
B.实用例子
//常用字符串处理函数的例子
        Actions()
        {
                    char MyString1[20] = "";
                  char MyString2[20] = "";
                char MyString3[20] = "Mercury2";
                char Cstring[10] = "12345";
                int Cint;
                strcpy(MyString1,"Mercury1");
                // Now MyString1 contains "Mercury1"
                // Copy MyString3 into MyString2
                strcpy(MyString2,MyString3);
                // Catenate MyString2 to MyString1
                strcat(MyString1,MyString2);
                // Cstring is converted to integer Cint
                Cint = atoi(Cstring);
                // Cint is converted to stringparam name
                Cint = 100;
                itoa(Cint,Cstring,10);
                    return 0;
        }
//字符串查和截取例子
    /*
    声明:int findSubStr(char* resultStr,char* sourceStr,char* beginStr,char* endStr)
    功能:将字符串sourceStr中beginStr和endStr之间的字符串输出给resultStr
    返回值:0:成功  1:失败
    调用方法:findSubStr(resultStr,”my name is zhangwei too”,”is”,”too”)
*/
int findSubStr(char* resultStr,char* sourceStr,char* beginStr,char* endStr)
{
    int ilen,i;
    char* findStartPos;
    char* findEndPos;
    findStartPos = (char*)strstr(sourceStr,beginStr);
    if (findStartPos==NULL) {
        return -1;
    }
    lr_output_message("findStartPos=%s",findStartPos);
    findEndPos = (char*)strstr(findStartPos,endStr);
    if (findEndPos==NULL) {
        return -1;
    }
    lr_output_message("findEndPos=%s",findEndPos);
    ilen=strlen(beginStr);
    findStartPos=findStartPos+ilen;
    lr_output_message("findStartPos=%s",findStartPos);
    ilen=findEndPos-findStartPos;
    strncpy(resultStr,findStartPos,ilen);
    lr_output_message("resultstr=%s",resultStr);
    return 0;
}
1.2格式化字符串
A.函数介绍
    函数定义:int sprintf(char *string, char *farmat [,argument,...])
    对于format说明:
        %s:格式化字符串
        %d:格式化数字类型为字符串
        %x:将数字格式化成小写十六进制数的字符串
        %X:将数字格式化成小写十六进制数的字符串
        格式化结果长度:%5d(5位),%8x(8位)
        %-4d、%-5x、%-6X:格式化结果左对齐,(没有-表示是右对齐)
    sprintf(s, "%d", 123); //将数字123格式化成"123"
    sprintf(s, "%5d%5d", 123, 4567); //指定格式化长度,结果是:s="  123 4567"
    sprintf(s, "%-5x%5d", 123, 4567); //指定格式化长度,结果是:s="7b  4567"
B.实用例子
Action()
{
    int i,k;
    float j;
    char formatStr[32];
    i=123;
    k=-123;
    j=123.456;
    sprintf(formatStr,"formatStr=%s","format example");
    lr_output_message(formatStr);
    sprintf(formatStr,"format integer(123)=%d",i);
    lr_output_message(formatStr);
    sprintf(formatStr,"format float(123.456)=%3.1f",j);
    lr_output_message(formatStr);
    sprintf(formatStr,"format hex(123)=%x",i);
    lr_output_message(formatStr);
    sprintf(formatStr,"format HEX(123)=%X",i);
    lr_output_message(formatStr);
    sprintf(formatStr,"format integer(-123)=%5d%5X",i,i);
    lr_output_message(formatStr);
    return 0;
}
运行结果:
Action.c(10): formatStr=format example
Action.c(12): format integer(123)=123
Action.c(14): format float(123.456)=123.5
Action.c(16): format hex(123)=7b
Action.c(18): format HEX(123)=7B
Action.c(20): format integer(-123)=  123  7B
1.3数据类型转换函数
A.函数介绍
Sprintf:可以将其它数据类型转换为字符串类型(1.2中有详细描述)
Atoi:将字符转换为整数类型
Itoa:将整数转换为字符存储到第二个参数中,可以将整数转换为不同的数据类型字符串
Atof:将字符转换为浮点类型(使用时应该首先在文件头声明double atof(const char            *string);),否则结果是错误的
Atol:将字符转换为长整数类型
Strtol:将一个字符串中的第一个数字字符串部分转换成长整数类型
B.例子
    以下脚本是数据类型转换的例子
double atof(const char *string);   //必须加上这一行,否则atof函数会出现错误结果
Action()
{
    int i;
    double j;
    long k;
    char ichange[32];
    /*  itoa 函数例子 */
    i=123;
    itoa(i,ichange,10);  //将整数转换为十进制的字符串
    lr_output_message("ichange=%s",ichange);
    itoa(i,ichange,16);  //将整数转换为十六进制的字符串
    lr_output_message("ichange=%s",ichange);
    itoa(i,ichange,2);  //将整数转换为二进制的字符串
    lr_output_message("ichange=%s",ichange);
   
    /*  atoi 函数例子 */
    i=atoi("12345");  //将字符串转换为整数
    lr_output_message("atoi('12345')=%d",i);
    /*  atof 函数例子 */
    j=atof("123.12");  //将字符串转换为浮点数
    lr_output_message("atof('123.12')=%.3f",j);
    /*  atol 函数例子 */
    k=atol("1234567890");  //将字符串转换为长整型
    lr_output_message("atol('1234567890')=%d",k);
    /*  strtol 函数例子 */
    //strcpy(ichange,"1234567890 is long int");
    k=strtol("1234M567890",ichange,10);  //将字符串转换为长整型

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。