51Testing软件测试论坛

标题: 如何将关联所得到的值和一个变量串联成一个字符串 [打印本页]

作者: rain_wind    时间: 2006-4-17 10:32
标题: 如何将关联所得到的值和一个变量串联成一个字符串
在录制loadrunner时,使用了关联,如下:
        web_reg_save_param("uploadid",
                "LB/IC=ViewState\" value=\"",
                "RB/IC=.doc",
                "Ord=1",
                "Search=Body",
                "RelFrameId=1",
                LAST);

其中在脚本中还定义了一个字符变量,如下:  
         char str[4];
         strcpy(str,".doc")
我想将关联所得到的值和变量str串联成一个字符串,怎么写这个语句.
作者: sunshine_luo    时间: 2006-4-17 11:53
strcpy(str,lr_eval_string("{uploadid}"));
作者: rain_wind    时间: 2006-4-17 13:17
谢谢!
不知这个语句strcat(lr_eval_string("{uploadid}"),str)行不行?
作者: xyuan007    时间: 2006-4-17 16:08
肯定不行的。
char string[30];
char str[4];
strcpy(str,".doc");
strcpy(string,lr_eval_string("{uploadid}"));
strcat(string,str);
这样就行了

[ 本帖最后由 xyuan007 于 2006-4-18 08:09 编辑 ]
作者: beiyu95    时间: 2006-4-17 16:38
拜托!老哥!回去看看C语言的手册,strcpy能把字符串连接吗?strcat(str,lr_eval_string("{uploadid}")。
作者: rain_wind    时间: 2006-4-17 20:51
“strcpy” copies one string to another.
“strcat” concatenates two strings.
所以正确语句是strcat(str,lr_eval_string("{uploadid}");
作者: xyuan007    时间: 2006-4-18 08:16
看别人代码要仔细,OK?
楼主的代码单个执行没问题,但是在上下文中要是运行通过的话,我把脑袋输给你。
报了memory violation 错误了吧
作者: rain_wind    时间: 2006-4-18 09:16
是会报,因为执行strcpy(str,".doc")后str的字符数已经是4位了.str再和任何一个非空字符数组连接的话当然就超过str定义的字符位数了。
因此会报 Error -- memory violation : Exception ACCESS_VIOLATION received.
作者: angel_test    时间: 2006-4-18 09:19
原帖由 xyuan007 于 2006-4-17 16:08 发表
肯定不行的。
char string[30];
char str[4];
strcpy(str,".doc");
strcpy(string,lr_eval_string("{uploadid}"));
strcat(string,str);
这样就行了


这样是正确的啊,楼主可以用lr_output_message这个函数输出string的值看看啊!sdlkfj
作者: beiyu95    时间: 2006-4-18 09:51
xyuan007 ,关键是找问题,你干脆把楼主的脚本也运行一遍得了,迂腐。
作者: sunshine_luo    时间: 2006-4-18 10:54
sorry,上面那个是笔误~




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2