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.
分享到:
相关推荐
本文将对LR中常用的几个函数进行详细介绍,帮助读者更好地理解和运用这些函数。 #### strlen:获取字符串长度 `strlen`函数用于获取一个字符串的实际长度,不包括末尾的空字符`\0`。例如: ```c char* str = ...
`lr_error_message`和`lr_output_message`同样是LR中常用的输出函数,但它们之间存在显著差异。`lr_error_message`主要用于报告错误信息,并会在输出窗口中以红色高亮显示,便于快速识别问题所在。例如: ```c lr_...
以下是基于标题和描述中提到的一些常用LoadRunner函数的详细说明: 1. `Intweb_reg_save_param`:这个函数用于在响应中查找并保存特定的参数值。例如,如果参数值在服务器响应中被左边界和右边界包围,你可以使用此...
在本篇中,我们将深入探讨几种常用的核函数及其特点。 首先,线性核函数是最简单的一种,它适用于线性可分数据集。线性核函数实际上就是输入数据的内积,不进行任何非线性变换,因此特征空间和输入空间的维度相同。...
本文将详细介绍 LoadRunner 中与 C 语言相关的字符串操作函数,包括 `strcat`、`strcpy`、`strchr`、`strrchr` 和 `strcmp` 函数的功能及使用方法。 #### 字符串操作函数 ##### 1. `strcat` - **功能**:`strcat` ...
5. `int sprintf`:这是C语言中的一个字符串赋值函数,用于格式化字符串并将其写入指定的缓冲区。在给定的例子中,它用于创建一个新的文件名,将索引号和后缀合并。 6. `char* strcat`:此函数将一个字符串追加到另...
以下是一些LoadRunner中的常用函数及其详细解释: 1. `web_reg_save_param`:这是一个用于提取网页响应中特定数据的函数。通过指定左边界(LB)和右边界(RB),它能找到并保存符合规则的数据作为参数。例如,如果...
虽然提供的内容中没有详细介绍具体的命令行分析函数,但在LoadRunner中确实存在一些用于命令行分析的功能,例如`lr_get_attrib_do`等,这些函数通常用于获取或设置LoadRunner的一些属性或配置信息,有助于更好地管理...
本文将详细解析LoadRunner中的一些常用函数,帮助开发者更好地理解和使用这些功能。 1. `web_reg_save_param`:此函数用于注册并保存网页中的参数。它会在参数值出现的前后面设定的左边界`LB`和右边界`RB`之间抓取...
sprintf()是C语言中的一个字符串格式化函数,允许我们将变量的值插入到字符串中。在LoadRunner中,我们可以使用它来构造动态的文件名或其他需要动态生成的字符串。 5. **strcat()**: 这个函数用于将一个字符串...
Init() 函数中定义的是局部变量,只能在 init 中用,action 和 end 函数定义的也是局部变量。 用户可以把一些通用的功能定义成自己的函数,在脚本里调用,调用的方式有直接引用、本地加载模式、Include 模式和全局...
LR模型,即逻辑回归(Logic Regression)模型,是机器学习领域中最基础且广泛使用的分类算法之一。它在BAT等互联网大厂中有着广泛的应用,尤其是在处理二分类问题时。本讲座将深入细致地讲解LR模型的Python实现,帮助...
在本项目中,编译器基本实现了C语言的主要功能,包括变量声明、函数定义、控制流结构等。以下是关于这个编译器实现的一些关键知识点: 1. **词法分析**:词法分析是编译器的第一步,它将源代码分解成一个个称为...
下面将详细介绍两个常用的LoadRunner函数:`web_url` 和 `web_image`。 #### 三、`web_url` 函数 **语法**: ```c Int web_url(const char* name, const char* url, , [EXTRA_RES, , LAST]); ``` - **返回值**:...
- **`web_reg_save_param`**:此函数是最常用的关联函数,用于保存动态数据为参数。 - 语法:`web_reg_save_param("ParameterName", , LAST);` ##### 2. 如何找出需要关联的数据 - **自动关联**:VuGen自带的自动...
以上介绍了MATLAB神经网络工具箱中的主要函数,这些函数覆盖了从网络构建到训练和评估的所有步骤,为用户提供了强大的工具来实现和优化各种类型的神经网络。通过灵活运用这些函数,可以有效地解决许多复杂的问题。
6. 字符串操作:如使用`sprintf`函数来格式化字符串,`strcpy`和`strcat`函数来复制和拼接字符串,这些都是在脚本中创建请求数据时常用的操作。 7. 文件操作:文档中提到了如何创建文件路径字符串,如`srand(time...