zoukankan      html  css  js  c++  java
  • loadrunner通过字符串左右边界提取字符串

    /******
    *函数名称:strcut
    *函数说明:通过左边界、右边界,从字符串中截取子字符串
    *注意事项:会申请新的内存,需要手动释放
    ******/
    void strcut(char *strSrc, char* str, char *leftStr, char *rightStr)
    {
        char *st1, *st2;
        int result, i = 0;
        i=strlen(leftStr);
        st1 = (char*) strstr(strSrc, leftStr);  
        if (st1 != NULL){ 
            st1 += i;
            st2 = (char*) strstr(st1,rightStr);
            if (st2 != NULL){
                result = st2 - st1;
                *(st1 + result) = '';
            }     
        }  
        if ((st1 == NULL) || (st2 == NULL))
            lr_error_message("Error: No substring found for the specified boundary");
        else   
            lr_save_string(lr_eval_string(st1),str); 
    }

    void strcut(char *strSrc, char* str, char *leftStr, char *rightStr)
    {
        char *st1, *st2;
        int result, i = 0;
        i=strlen(leftStr);
        st1 = (char*) strstr(strSrc, leftStr);  
        if (st1 != NULL){ 
            st1 += i;
            st2 = (char*) strstr(st1,rightStr);
            if (st2 != NULL){
                result = st2 - st1;
                *(st1 + result) = '';
            }     
        }  
        if ((st1 == NULL) || (st2 == NULL))
            lr_error_message("Error: No substring found for the specified boundary");
        else   
            lr_save_string(lr_eval_string(st1),str); 
    }
    
    Action()
    { 
        lr_save_string("{"code": "00000000", "msg": "成功", "transId": "f6079c11ac9d463bb219acba8bc3448c","data": {"randId":"e02a104a4a2f421b93bdb8f6d9daf7c0"}}","allRes2");
     
        strcut(lr_eval_string("{allRes2}"), "randId", "randId":"",""}");  
     
        lr_output_message("randId:%s",lr_eval_string("{randId}")); 
     
        return 0;
    }

    void web_reg_save_param_custom(char *sourceStr, char* outpuStr, char *leftBdry, char *rightBdry){     
    
    	char *st1, *st2;
    
    	int result, i = 0;
    
    	i=strlen(leftBdry);
    
    	st1 = (char*) strstr(sourceStr, leftBdry); 
    
    	if (st1 != NULL){ 
    
    		st1 += i;
    
    		st2 = (char*) strstr(st1, rightBdry);
    
    		if (st2 != NULL){
    
    			result = st2 - st1;
    
    			*(st1 + result) = '';
    
    			}     
    		}  
    
    	if ((st1 == NULL) || (st2 == NULL))
    
    		lr_error_message("Error: No substring found for the specified boundary");
    
    	else  
    
    		lr_save_string(lr_eval_string(st1), outpuStr); 
    }
    
    Action()
    {
    
    	lr_save_string("xyzToken3234344endKey,","test"); 
    
    	web_reg_save_param_custom(lr_eval_string("{test}"), "Outputtest", "Token","endKey");  
    
    	lr_output_message("切割后的值=%s",lr_eval_string("{Outputtest}")); 
    
    	return 0;
    }

    深圳湖北籍软件测试群 275212937

  • 相关阅读:
    [工具推荐]005.Axure RP Pro 7.0模拟C#TAB控件
    [安卓基础] 008.Android中的显示单位
    [JavaWeb基础] 008.Spring初步配置
    [批处理教程之Shell]002.Linux 常用命令大全
    [注]新手学习编程的最佳方式是什么?
    [C#打包部署教程]001.VS2012 + InstallShield
    [站点推荐]001.学习新技能的37个最佳网站(The 37 Best Websites To Learn Something New)
    程序员如何像写代码一样找女朋友
    [工具-006] C#如何模拟发包登录
    [Linux系统] (1)常用操作(CentOS 7.x)
  • 原文地址:https://www.cnblogs.com/qmfsun/p/4947240.html
Copyright © 2011-2022 走看看