strtok()
以前用ASP在寫購物車的時候會用的split這樣的Func call來解析購物車裡面的內容,覺得這是個很好用的字串工具,現在在寫C的時候也會用到一些文字的設定檔的狀況,不知道有strtok()的狀況下,就是ㄧ個字元ㄧ個字元慢慢判斷,昨天在查CGI Session程式的時候,看到使用了這個System Call,第一個感覺是又驚又喜。
好吧!讓我們來認識strtok()
原型:
#include <string.h>
char *strtok(char *s, const char *delim);
第一個參數s所帶入的是要被切割的字串,
第二個參數delim(定界線)也就是分界的依據字元,
舉個實例:
字串 str=”Name=Johnny”;
strtok(str, “=”);
return回來的字串point會是”Name”
那要如何取出下ㄧ個字節”Johnny”的話呢?
strtok(NULL, “=”);
return回來的就是”Johnny”了!
很奇怪, 為什麼不用再傳入字串, 反而是NULL呢?
因為第一次的字串已經被系統暫存到記憶體了,
如果繼續取下ㄧ個字節呢?
return回來的會是NULL喔!
所以可以利用NULL來辨識字串是否已經結束。
千萬要記得必須連續使用喔!
發表迴響