加载运行器:String Array

时间:2017-06-30 09:17:47

标签: c loadrunner

我无法在vuser_end部分中打印字符串数组。对于Eg,我在#34; Action"中存储了近5个字符串。部分。我可以在Action部分显示该数组。但我无法在"结束"部分。

init()
char *pnum[100];
char *pchar[100];
char *paramValn;
char *paramValc;
int i=0,j=0,k=0;
int m;

action()
for(k=0;k<=5;k++)
    {
        paramValn = lr_eval_string("{p_num}");
        pnum[i] = paramValn;

        paramValc = lr_eval_string("{p_char}");
        pchar[i] = paramValc;

        i++;
    }

for(n=0;n<5;n++)
    {
        lr_output_message("String value: %d : %s",n,pnum[n]);
    }

这里p_num和p_char是参数。

这个输出是:

Action1.c(18): String value: 0 : 12345
Action1.c(18): String value: 1 : 60091
Action1.c(18): String value: 2 : 76767
Action1.c(18): String value: 3 : 87878
Action1.c(18): String value: 4 : 12345

vuser_end()
{
     for(m=0;m<5;m++)
    {
        lr_output_message("String value in end: %d : %s",m,pnum[m]);
    }
    TE_wait_sync();
    lr_think_time(3);
    TE_type("<kF3>");
    TE_wait_sync();
    TE_type("<kF3>");
    TE_wait_sync();
    TE_type("<kF3>");
    lr_think_time(3);
    TE_type("<kEnter>"); return 0;
}

但是当我在End部分使用相同的代码时,我无法显示:

输出是:

vuser_end.c(12): String value in end: 0 : Š
vuser_end.c(12): String value in end: 1 : –
vuser_end.c(12): String value in end: 2 : Ö
vuser_end.c(12): String value in end: 3 : ž
vuser_end.c(12): String value in end: 4 : vuser_end_Transaction

我知道这是因为内存问题。任何指针都很有帮助。

1 个答案:

答案 0 :(得分:0)

  1. char * pnum [100] - 是vuser_init.c的本地变量。
  2. 将char * pnum []声明为globals.h文件中的全局变量。
  3. 请在上述更改后发布您的回答。