|
strtok
|
探索関数
strtok
|
ヘッダ
| #include <string.h>
|
形 式
| char *strtok(char *s1, const char *s2);
|
機 能
| s1が指す文字列を、s2が指す文字列の中のいずれかの文字で区切られる文字の並びへと一連の呼出しによって分割する。最初の呼出しでは、第1実引数とs1を設定する。2回目以降の呼出しでは、s1には空ポインタを、s2には、文字列を区切るための文字の並びを渡す。なお、s2は、呼出しのたびに異なってもよい。
|
返却値
| 区切られた文字の並びの最初の文字へのポインタを返す。存在しない場合は、空ポインタを返す。
|
■実装例■
#include <string.h>
char *strtok(char *s1, const char *s2)
{
char *pbegin, *pend;
static char *save = "";
pbegin = s1 ? s1 : save;
pbegin += strspn(pbegin, s2); /* strspnを利用 */
if (*pbegin == '\0') {
save = "";
return (NULL);
}
pend = pbegin + strcspn(pbegin, s2); /* strcspnを利用 */
if (*pend != '\0')
*pend++ = '\0';
save = pend;
return (pbegin);
}