谁帮我看看为什么返回的值为空
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;
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 = token;
i++;
}
token=(char*)strtok(NULL,",");
}
for (j=1;j<i;j++)
{
l=0;
for (;l<=j;l++)
{
if (shuzu==shuzu))
{
IsAdd=1;
break;
}
}
if (IsAdd == 0) {
newshuzu = shuzu;
}
lr_output_message("%s", newshuzu);
}
}红色标识的代码是我用来比较数据组是不是有重复的值,如果有的话,就把重复的却掉,可我不明白为什么,我返回的值都是为空呢?而且会输出13次
按理来说,只应该会返回4个,因为服务器返回的值就为“CTU,KWE,733,CTU,KWE,733,CTU,KWE,733,CTU,KWE,738”
谁可以帮我看看吖,我弄了大半上午了,都没个结果。。 我大概明白你的意思,不过感觉你的strtok写的有些问题,细的分析就没空帮你看了,无非就是你用strtok按照逗号分离的问题,你可以用我的或者是论坛上有个朋友写的对字符串再分离的函数,比你自己写简单点 这个问题已经解决了。。。谢谢 Param_GetAVHInfoResult,是参数吗? 回复 3# edisonlzk
怎么解决的,也拿出来和大家分享一下吧
页:
[1]