我們在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," ");
原文轉自:http://www.anti-gravitydesign.com