edisonlzk 发表于 2010-9-15 13:47:13

谁帮我看看为什么返回的值为空

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”

谁可以帮我看看吖,我弄了大半上午了,都没个结果。。

云层 发表于 2010-9-15 16:09:52

我大概明白你的意思,不过感觉你的strtok写的有些问题,细的分析就没空帮你看了,无非就是你用strtok按照逗号分离的问题,你可以用我的或者是论坛上有个朋友写的对字符串再分离的函数,比你自己写简单点

edisonlzk 发表于 2010-9-20 16:35:58

这个问题已经解决了。。。谢谢

devil_xxg 发表于 2010-9-20 17:05:06

Param_GetAVHInfoResult,是参数吗?

msnshow 发表于 2010-9-20 21:22:32

回复 3# edisonlzk


    怎么解决的,也拿出来和大家分享一下吧
页: [1]
查看完整版本: 谁帮我看看为什么返回的值为空