我们在lr中经常需要对字符串或者参数去做substring这种类似的操作,就是从中取我们想要的一段内容,lr提供了2中方式来处理
1.lr_save_var()函数
这个函数可以帮助我们对一个字符串取其中的从第几位到第几位的内容
例如
char city[1000];
strcpy(city,"this is shanghai!");
lr_save_var( city+8,5, 0, "ShortName");
得出的结果为shang
从字符串"this is shanghai!"中的第八位开始取,取5位长度结果就是shang
当但是这个函数有个缺点就是我必须要知道要取得内容的长度,对于变化长度的内容怎么办呢?
我们来讲第二个函数
2.strtok()
这个函数好像是9.x才有的扩展函数,没验证过8.x是不是有
该函数的作用是通过某个分割符来切分内容
例如
char city[1000];
char * token;
extern char * strtok(char * string, const char * delimiters ); //这个函数是扩展的要声明
strcpy(city,"this is shanghai!");
token = (char *)strtok(city," ");
lr_error_message(token);
token = (char *)strtok(NULL," ");
lr_error_message(token);
token = (char *)strtok(NULL," ");
lr_error_message(token);
我们通过这个函数可以得到
this
is
shanghai
通过空格来分割字符串,可以得到第一个符合该条件的内容,如果需要继续分割就使用strtok(NULL," ");