• 使用 内置函数strtok()函数实现 loadrunner 字符串替换


    Action()
    {
    /* loadrunner 字符串替换 */

    char separators[] = "/";

    char * token;
    char * file_path;
    char * file_path_record;

    int len_file_path = 0;
    extern char * strtok(char * string, const char * delimiters ); // Explicit declaration
    int i=0;
    file_path= (char *)calloc(200, sizeof(char));

    lr_save_string("http://192.168.70.65:8888/group1/M00/00/A0/wKhGQVvo51SAKaaRAAPCOT1ZRgY858.png","return_file_path");
    strcat(file_path,lr_eval_string("{return_file_path}"));

    token = (char *)strtok(file_path, separators); // Get the first token

    if (!token) {

    lr_output_message ("No tokens found in string!");

    return( -1 );

    }
    // lr_output_message ("*****%s", token );
    len_file_path=200+strlen(token);
    file_path= (char *)calloc(len_file_path, sizeof(char));
    file_path_record= (char *)calloc(len_file_path, sizeof(char));


    while (token != NULL ) { // While valid tokens are returned

    strcat(file_path, token);
    strcat(file_path_record, token);

    if (i==0)
    {
    lr_output_message("\\\\\\/");
    lr_output_message("\\/");
    lr_output_message(file_path);

    strcat(file_path,"\\\\\\/");
    strcat(file_path,"\\\\\\/");

    strcat(file_path_record,"\\/");
    strcat(file_path_record,"\\/");

    lr_output_message(file_path);


    }

    else if (i==6)
    {
    strcat(file_path,"");
    strcat(file_path_record,"");

    }
    else
    {
    strcat(file_path,"\\\\\\/");
    strcat(file_path_record,"\\/");


    }


    lr_output_message ("第%d个字符串:%s", i,token );
    i+=1;
    token = (char *)strtok(NULL, separators); // Get the next token

    }

    lr_save_string(lr_eval_string(file_path), "param_file_path");

    lr_save_string(lr_eval_string(file_path_record), "param_file_path_record");
    lr_output_message(lr_eval_string("{param_file_path}"));
    lr_output_message(lr_eval_string("{param_file_path_record}"));


    return 0;
    }

    char *strtok( char *strToken, const char *strDelimit );

    Strtok()函数详解:

      该函数包含在"string.h"头文件中 
    函数原型:

    1. char* strtok (char* str,constchar* delimiters );

    函数功能: 
      切割字符串,将str切分成一个个子串 
    函数参数: 
      str:在第一次被调用的时间str是传入需要被切割字符串的首地址;在后面调用的时间传入NULL。 
      delimiters:表示切割字符串(字符串中每个字符都会 当作分割符)。 
    函数返回值: 
      当s中的字符查找到末尾时,返回NULL; 
      如果查不到delimiter所标示的字符,则返回当前strtok的字符串的指针。

    #include<stdio.h>
    #include<string.h>
    int main(void)
    {
    char buf[]="hello@boy@this@is@heima";
    char*temp = strtok(buf,"@");
    while(temp)
    {
    printf("%s ",temp);
    temp = strtok(NULL,"@");
    }
    return0;
    }

  • 相关阅读:
    吃甘蔗(中等,模拟)
    jquery对象里面的context参数
    event对象的使用注意事项
    EcmaScript源码
    对js运算符“||”和“&&”的总结
    浏览器滚动条样式
    浏览器的重绘与重排
    input[checkbox],input[radiobox]的一些问题
    height:100%
    Sublime Text 3 多行游标
  • 原文地址:https://www.cnblogs.com/python-xiakaibi/p/9945583.html
Copyright © 2020-2023  润新知