在LR中,C的变量和LR的参数是不一样的。

  任何C的变量都不能被LR的函数直接调用。

  应该用lr_eval_string来取值。

  比如{NewParam}(LR中参数化的变量)直接用这个引用是没有问题的。

  但是如果如下:

  Action()

  {

  char a[10];

  strcpy(a,"{NewParam}");

  lr_message(a);

  return 0;

  }

  这就不对了。

  lr_message(a);就会报错。

  但是写成lr_message(lr_eval_string(a));就可以。

  因为这里的值已经取出来了。

  再看另一个问题:一个网友说:

  Action()

  {

  char a[10];

  strcpy(a,"{NewParam}");

  lr_message(lr_eval_string(a));

  if (lr_eval_string(a)[0] == 11)

  {

  lr_message ("a=%d",a);

  }

  return 0;

  }

  中的 if (lr_eval_string(a)[0] == 11)不应该通过语法检查。

  其中{NewParam}是参数化的。内容:11.

  那下面我来用lr_message ("a=%d",lr_eval_string(a)[0]);在if前面打出来看看是什么。结果打出来是:49(数字1的ascii码).

  也就是说if (lr_eval_string(a)[0] == 11)是判断1的ascii码是否等于11.显示是不相等的。于是这里的 lr_message ("a=%d",a);就不会执行。

  下面我们用另一段代码来看看:

  char *str2="T";

  char a[10];

  strcpy(a,lr_eval_string("{NewParam}"));

  lr_message ("a=%d",lr_eval_string(a)[0]);

  lr_message(lr_eval_string(a));

  if (lr_eval_string(a)[0]== *str2) {

  lr_message ("a=%s",a);

  lr_message ("执行这句!");

  }

  结果如下:

  Starting action Action.

  a=84

  T

  a=T

  执行这句!

  Ending action Action.

  这里我的参数是一个大写的“T”。

  我们看到lr_eval_string(a)[0]取到的是大写字母“T”的ascii码。

原文转自:http://www.ltesting.net

转:lr_eval_string函数的用法解析的更多相关文章

  1. having,groub by 结合聚合函数的用法解析

    聚合函数有:sum , count, avg, max等等: where无法与聚合函数一起使用,所以在sql语句中加上having子句来筛选查询结果: 上面的sql语句是错的,正确如下: SELECT ...

  2. select函数详细用法解析

    1.表头文件 #include #include #include 2.函数原型 int select(int n,fd_set * readfds,fd_set * writefds,fd_set ...

  3. 转:从编译链接过程解析static函数的用法

    关于static函数的用法 就像我们熟知的那样,变量可以分全局的和局部的,函数也可以分全局的和局部的. 比如说,在一个工程的common.h中定义了一个全局变量 int test;那么在整个工程的作用 ...

  4. (转)解析PHP中ob_start()函数的用法

    本篇文章是对PHP中ob_start()函数的用法进行了详细的分析介绍,需要的朋友参考下     ob_start()函数用于打开缓冲区,比如header()函数之前如果就有输出,包括回车/空格/换行 ...

  5. 内联函数 —— C 中关键字 inline 用法解析

    一.什么是内联函数 在C语言中,如果一些函数被频繁调用,不断地有函数入栈,即函数栈,会造成栈空间或栈内存的大量消耗. 为了解决这个问题,特别的引入了inline修饰符,表示为内联函数. 栈空间就是指放 ...

  6. 【转载】内联函数 —— C 中关键字 inline 用法解析

    转载地址:https://blog.csdn.net/zqixiao_09/article/details/50877383 一.什么是内联函数 在C语言中,如果一些函数被频繁调用,不断地有函数入栈, ...

  7. extern "c"用法解析

    转自: extern "c"用法解析 - 简书 引言 C++保留了一部分过程式语言的特点,因而它可以定义不属于任何类的全局变量和函数.但是,C++毕竟是一种面向对象的程序设计语言, ...

  8. WordPress的have_posts()和the_post()用法解析

    原文地址:http://www.phpvar.com/archives/2316.html 网上找到一篇介绍WordPress的have_posts()和the_post()用法解析的文章,觉得不错! ...

  9. extern "C" 用法解析

    extern "c"用法解析 作者 作者Jason Ding ,链接http://www.jianshu.com/p/5d2eeeb93590 引言 C++保留了一部分过程式语言的 ...

随机推荐

  1. redis数据类型:hashes

    redis hash 是一个string类型的field和value的映射表. 它的添加.删除操作都是O(1)(平均),hash特别适合用于存储对象 将一个对象存储在hash类型总会占用更少的内存,并 ...

  2. android打包大小笔录

    版本 4.6.1 1-1  游戏完整包的大小 1-2 1级代码压缩 1-3 2级代码压缩 1-4 3级代码压缩 2-1 删除核心战斗的部分资源 2-2 2级代码压缩 3-0 删除外部UI的资源  剩下 ...

  3. Quartz(任务调度)- 入门学习

    参照:http://blog.csdn.net/szwangdf/article/details/6158646 1.自定义定时任务管理类 QuartzManager 参照大神基础上新增:1.添加jo ...

  4. 编译cvaux错误的原因

    引用:   http://www.cnblogs.com/oskycar/archive/2009/08/30/1556920.html VS2013 在debug模式下编译cvaux时会提示三个错误 ...

  5. Ajax应用-Ajax传输JSON数据实例

    ———————————————————— <script type="text/javascript">            var client;          ...

  6. Fine Uploader 简单配置方法

    由于jquery.uploadify是基于flash的jquery上传控件,客户老是说出问题,所以今天换成了一个纯js的异步上传控件. 这方面的资料很少,故此记下来分享一下. 项目地址:Fine Up ...

  7. centos 7 切换运行模式

    如设置命令行级别方法: systemctl set-default multi-user.target 设置窗口级别方法: systemctl set-default graphical.target

  8. ios 导航页面

    //  AppDelegate.m#import "AppDelegate.h"#import "ViewController.h" @interface Ap ...

  9. ASP.NET多文件批量打包下载

    在对多文件打包中用到了 DotNetZip 的方法来实现对多文件压缩打包.需要到http://dotnetzip.codeplex.com/处下载该文件,然后引用即可. Default.aspx: & ...

  10. Thinkphp与Ucenter整合笔记

    ucenter手册:http://www.phpddt.com/manual/ucenter/html/index.htm 参考:http://www.thinkphp.cn/topic/1557.h ...