`
joanzq
  • 浏览: 72893 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

LR中常用的C函数

    博客分类:
  • LR
阅读更多

 

LR中常用的C函数


注意:
将字符串中的数字转换为浮点数的函数,如果不事先声明,则转换有问题。
1       strcat

char *strcat ( char *to, const char *from );

功能:链接两个字符串。

例子:

这个例子是用strcat链接字符串:zee和slo@hotmail.co

脚本如下:

     char test[1024], *a = "slo@hotmail.com";

     strcpy(test, "zee");

     strcat(test, a);

     lr_output_message("We can see %s",test);


运行后在executon log中看到如下语句:

Starting action Action.
Action.c(16): We can see zeeslo@hotmail.com

2       strchr
char *strchr ( const char *string, int c );

功能:返回字符串中指定字符后面的字符串。

例子:

这个例子是返回第一个出现e字符以后所有的字符,和最后一次出现e字符以后所有的字符。

脚本如下:
     char *string = "Zee is a tester";
     char *first_e, *last_e;

     first_e = (char *)strchr(string, 'e');
     lr_output_message("We can see the first occurrence of e: %s",first_e);
     last_e = (char *)strrchr(string, 'e');
     lr_output_message("We can see the last occurrence of e: %s", last_e);

运行后在executon log中看到如下语句:
Starting action Action.
Action.c(12): We can see the first occurrence of e: ee is a tester
Action.c(14): We can see the last occurrence of e: er
3       Strcmp&stricmp
int strcmp ( constchar *string1, const char *string2 );大小写敏感。
int stricmp ( const char *string1, const char *string2 );大小写不敏感。

功能:比较字符串。

例子:

按是否区分大小写对比两个字符串,并打印出它们的大小关系。

脚本如下:
     int result;
     char tmp[20];
     char string1[] = "We can see the string:ZEE";
     char string2[] = "We can see the string:zee";

     result = strcmp( string1, string2 ); /*区分大小写,比较字符串 */

     if( result > 0 )
          strcpy( tmp, "大于" );
     else if( result < 0 )
          strcpy( tmp, "小于" );
     else
          strcpy( tmp, "等于" );

     lr_output_message( "strcmp: String 1 %s string 2", tmp );

     result = stricmp( string1, string2 ); /* 不区分大小写,比较字符串 */

     if( result > 0 )
          strcpy( tmp, "大于" );
     else if( result < 0 )
          strcpy( tmp, "小于" );
     else
          strcpy( tmp, "等于" );

     lr_output_message( "stricmp: String 1 %s string 2", tmp );    

运行后在executon log中看到如下语句:
Starting action Action.
Action.c(22): strcmp: String 1 小于 string 2
Action.c(33): stricmp: String 1 等于 string 2
  
4       strcpy
char *strcpy ( char *dest, const char *source );

功能:复制一个字符串到另一个字符串中。

例子:

复制一个字符串到字符数组中,并打印出来。

脚本如下:

     char test[1024];

     strcpy(test, "what can we see?       ");

     lr_output_message("%s", test);

运行后在executon log中看到如下语句:
Starting action Action.
Action.c(10): what can we see?      
5       Strdup& strlwr
char *strdup ( const char *string );

复制一个字符串。

char *strlwr ( char *string );

转换成小写字母。

例子:

在这个例子中,Vuser的组名被转换为小写字母。但是lr_whoami把组名作为静态buffer返回。这样的buffer不能被操作。如果有操作需要,就复制这个静态buffer。

脚本如下:

     int id;
     char *groupname_static, *groupname;

     /* 从VuGen中得到组名 */
     lr_whoami(&id, &groupname_static, NULL);
     lr_output_message("groupname=%s", groupname_static);

     /*复制这个静态组名以便我们可以操作它 */
     groupname = (char *)strdup(groupname_static);
     groupname = (char *)strlwr(groupname);
     lr_output_message("lower case groupname=%s", groupname);

     free(groupname);
上述脚本用vugen保存为:CHANGE

在controller中运行(设置为总是发送消息)
运行后在log中看到如下语句:
Starting action Action.    [MsgId: MMSG-15919]
Action.c(11): groupname=CHANGE     [MsgId: MMSG-17999]
Action.c(16): lower case groupname=change      [MsgId: MMSG-17999]
6       Strlen
size_t strlen ( constchar *string );

功能:返回字符串长度(bytes).

例子:

这个例子很简单,就是得到一个字符串中的字符的个数。然后打印出来。

脚本如下:

     char *str = "Zee is a tester";
     unsigned int len;

     len = strlen(str);

     lr_output_message("The sentence has %d letters",len);

运行后在log中看到如下语句:
Action.c(13): The sentence has 15 letters
7       Strncat
char *strncat ( char *to_string, const char *from_string, size_t n );

把一个字符串连接到另一个字符串后面。

例子:

在这里,我随便写了两个字符串,用此函数把他们连接起来,并打印出来。

脚本如下:


   char str1[]="Zee is ";
    char str2[]="a tester.";
    lr_output_message("What can we see?");
    lr_output_message("The str1 is %s.",str1);

    strncat(str1,str2,20);
lr_output_message("The str1 is %s.",str1);


运行后在log中看到如下语句:
Action.c(9): What can we see?
Action.c(10): The str1 is Zee is .
Action.c(13): The str1 is Zee is a tester..
注:我们可以看到,没有连接前的str1是:Zee is,连接后的字符串是:Zee is a tester。也可以看看strcat函数。
8       strncmp
int strncmp ( constchar *string1, const char *string2, size_t n );

对比两个字符串的前n位。

例子:

对比两个字符串,并把对比结果打印出来。这里我和上面的strcmp一起写。

脚本如下:

    char result;
    char str1[]="Zee is a tester.";
    char str2[]="Zee is a tester.";
    char str3[]="zee is a tester?";
   
    result = strcmp(str1,str2);

    if(result > 0)
         lr_output_message("str1 is greater than str2.");
    else if(result < 0)
         lr_output_message("str1 is less than str2.");
    else
         lr_output_message("str1 is equal to str2.");
  
    result = strncmp( str1, str3 , 30);


    if(result > 0)
         lr_output_message("str1 is greater than str3.");
    else if(result < 0)
         lr_output_message("str1 is less than str3.");
    else
         lr_output_message("str1 is equal to str3.");

运行后在log中看到如下语句:
Starting iteration 1.
Starting action Action.
Action.c(18): str1 is equal to str2.
Action.c(28): str1 is less than str3.

joan 2009-09-08 09:28 发表评论
分享到:
评论

相关推荐

    Loadrunner常用函数总结

    本文将对LR中常用的几个函数进行详细介绍,帮助读者更好地理解和运用这些函数。 #### strlen:获取字符串长度 `strlen`函数用于获取一个字符串的实际长度,不包括末尾的空字符`\0`。例如: ```c char* str = ...

    LR函数经验分享

    `lr_error_message`和`lr_output_message`同样是LR中常用的输出函数,但它们之间存在显著差异。`lr_error_message`主要用于报告错误信息,并会在输出窗口中以红色高亮显示,便于快速识别问题所在。例如: ```c lr_...

    LoadRuner 常用的函数

    以下是基于标题和描述中提到的一些常用LoadRunner函数的详细说明: 1. `Intweb_reg_save_param`:这个函数用于在响应中查找并保存特定的参数值。例如,如果参数值在服务器响应中被左边界和右边界包围,你可以使用此...

    34. 常用核函数及核函数的条件1

    在本篇中,我们将深入探讨几种常用的核函数及其特点。 首先,线性核函数是最简单的一种,它适用于线性可分数据集。线性核函数实际上就是输入数据的内积,不进行任何非线性变换,因此特征空间和输入空间的维度相同。...

    lr常用函数整理[收集].pdf

    本文将详细介绍 LoadRunner 中与 C 语言相关的字符串操作函数,包括 `strcat`、`strcpy`、`strchr`、`strrchr` 和 `strcmp` 函数的功能及使用方法。 #### 字符串操作函数 ##### 1. `strcat` - **功能**:`strcat` ...

    LoadRunner常用函数LoadRunner常用函数

    5. `int sprintf`:这是C语言中的一个字符串赋值函数,用于格式化字符串并将其写入指定的缓冲区。在给定的例子中,它用于创建一个新的文件名,将索引号和后缀合并。 6. `char* strcat`:此函数将一个字符串追加到另...

    loadrunner常用函数.doc

    以下是一些LoadRunner中的常用函数及其详细解释: 1. `web_reg_save_param`:这是一个用于提取网页响应中特定数据的函数。通过指定左边界(LB)和右边界(RB),它能找到并保存符合规则的数据作为参数。例如,如果...

    LoadRunner_常用函数

    虽然提供的内容中没有详细介绍具体的命令行分析函数,但在LoadRunner中确实存在一些用于命令行分析的功能,例如`lr_get_attrib_do`等,这些函数通常用于获取或设置LoadRunner的一些属性或配置信息,有助于更好地管理...

    LoadRunner常用函数[参考].pdf

    本文将详细解析LoadRunner中的一些常用函数,帮助开发者更好地理解和使用这些功能。 1. `web_reg_save_param`:此函数用于注册并保存网页中的参数。它会在参数值出现的前后面设定的左边界`LB`和右边界`RB`之间抓取...

    LoadRunner常用函数[归类].pdf

    sprintf()是C语言中的一个字符串格式化函数,允许我们将变量的值插入到字符串中。在LoadRunner中,我们可以使用它来构造动态的文件名或其他需要动态生成的字符串。 5. **strcat()**: 这个函数用于将一个字符串...

    LoaderRunner 函数篇

    Init() 函数中定义的是局部变量,只能在 init 中用,action 和 end 函数定义的也是局部变量。 用户可以把一些通用的功能定义成自己的函数,在脚本里调用,调用的方式有直接引用、本地加载模式、Include 模式和全局...

    LR模型的Python实现

    LR模型,即逻辑回归(Logic Regression)模型,是机器学习领域中最基础且广泛使用的分类算法之一。它在BAT等互联网大厂中有着广泛的应用,尤其是在处理二分类问题时。本讲座将深入细致地讲解LR模型的Python实现,帮助...

    类C语言编译器,基本上实现了主要功能的C语言语法,词法分析使用状态转移,语法使用LR(1)方法,自动生成ACTION和GOTO转移表。自顶向下的语法制导翻译,可以生成各种类型的表达式(包括布尔,算术,逻辑等等),循环中的while,选择中的if else 和if等,功能比较强大,对于应付编译原理课程设计足足有余。此代码是本人课程设计的心血。

    在本项目中,编译器基本实现了C语言的主要功能,包括变量声明、函数定义、控制流结构等。以下是关于这个编译器实现的一些关键知识点: 1. **词法分析**:词法分析是编译器的第一步,它将源代码分解成一个个称为...

    LoadRunner函数中文翻译

    下面将详细介绍两个常用的LoadRunner函数:`web_url` 和 `web_image`。 #### 三、`web_url` 函数 **语法**: ```c Int web_url(const char* name, const char* url, , [EXTRA_RES, , LAST]); ``` - **返回值**:...

    LR 教程_关联(Correlation).pdf

    - **`web_reg_save_param`**:此函数是最常用的关联函数,用于保存动态数据为参数。 - 语法:`web_reg_save_param("ParameterName", , LAST);` ##### 2. 如何找出需要关联的数据 - **自动关联**:VuGen自带的自动...

    MATLAB神经网络工具箱函数

    以上介绍了MATLAB神经网络工具箱中的主要函数,这些函数覆盖了从网络构建到训练和评估的所有步骤,为用户提供了强大的工具来实现和优化各种类型的神经网络。通过灵活运用这些函数,可以有效地解决许多复杂的问题。

    LoadRunner测试BS常用代码.pdf

    6. 字符串操作:如使用`sprintf`函数来格式化字符串,`strcpy`和`strcat`函数来复制和拼接字符串,这些都是在脚本中创建请求数据时常用的操作。 7. 文件操作:文档中提到了如何创建文件路径字符串,如`srand(time...

Global site tag (gtag.js) - Google Analytics