51Testing软件测试论坛
标题:
谁帮我看看为什么返回的值为空
[打印本页]
作者:
edisonlzk
时间:
2010-9-15 13:47
标题:
谁帮我看看为什么返回的值为空
Action()
{
//extern char * strtok(char * string, const char * delimiters );
char *token = NULL;
char *str1;
int i=1;
int j,l;
int IsAdd = 0;
char *newshuzu[] = {0};
char *shuzu[100];
web_service_call( "StepName=GetAVHInfo_102",
"SOAPMethod=BenefitService|BenefitServiceSoap|GetAVHInfo",
"ResponseParam=response",
"Service=BenefitService",
"ExpectedResponse=SoapResult",
"Snapshot=t1284458955.inf",
BEGIN_ARGUMENTS,
"UserName=1",
"TakeoffDate=2010-12-20",
"FromCity=ctu",
"ToCity=kwe",
END_ARGUMENTS,
BEGIN_RESULT,
"GetAVHInfoResult=Param_GetAVHInfoResult",
END_RESULT,
LAST);
lr_save_string(lr_eval_string("{Param_GetAVHInfoResult}"),"tempStr");
str1 = lr_eval_string("{tempStr}");
token = (char*)strtok(str1,",");
lr_error_message("%s",lr_eval_string("{Param_GetAVHInfoResult}"));
while(token!=NULL)
{
if(strlen(token)==3)
{
//lr_output_message("%s\n",token);
shuzu[i] = token;
i++;
}
token=(char*)strtok(NULL,",");
}
[color=Red]for (j=1;j<i;j++)
{
l=0;
for (;l<=j;l++)
{
if (shuzu[l]==shuzu[j]))
{
IsAdd=1;
break;
}
}
if (IsAdd == 0) {
newshuzu[j] = shuzu[j];
}
lr_output_message("%s", newshuzu);
}[/color]
}
复制代码
红色标识的代码是我用来比较数据组是不是有重复的值,如果有的话,就把重复的却掉,可我不明白为什么,我返回的值都是为空呢?而且会输出13次
按理来说,只应该会返回4个,因为服务器返回的值就为“CTU,KWE,733,CTU,KWE,733,CTU,KWE,733,CTU,KWE,738”
谁可以帮我看看吖,我弄了大半上午了,都没个结果。。
作者:
云层
时间:
2010-9-15 16:09
我大概明白你的意思,不过感觉你的strtok写的有些问题,细的分析就没空帮你看了,无非就是你用strtok按照逗号分离的问题,你可以用我的或者是论坛上有个朋友写的对字符串再分离的函数,比你自己写简单点
作者:
edisonlzk
时间:
2010-9-20 16:35
这个问题已经解决了。。。谢谢
作者:
devil_xxg
时间:
2010-9-20 17:05
Param_GetAVHInfoResult,是参数吗?
作者:
msnshow
时间:
2010-9-20 21:22
回复
3#
edisonlzk
怎么解决的,也拿出来和大家分享一下吧
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2