📄 strtok.c
字号:
/* ======================================================================== * Copyright 1988-2007 University of Washington * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * * ======================================================================== *//* * Program: String return successive tokens * * Author: Mark Crispin * Networks and Distributed Computing * Computing & Communications * University of Washington * Administration Building, AG-44 * Seattle, WA 98195 * * Date: 11 May 1989 * Last Edited: 30 January 2007 *//* Find token in string * Accepts: source pointer or NIL to use previous source * vector of token delimiters pointer * Returns: pointer to next token */static char *state = NIL; /* string to locate tokens */char *strtok (char *s,char *ct){ return strtok_r (s,ct,&state);/* jacket into reentrant routine */}/* Find token in string (reentrant) * Accepts: source pointer or NIL to use previous source * vector of token delimiters pointer * returned state pointer * Returns: pointer to next token */char *strtok_r (char *s,char *ct,char **r){ char *t,*ts; if (!s) s = *r; /* use previous token if none specified */ *r = NIL; /* default to no returned state */ if (!(s && *s)) return NIL; /* no tokens left */ /* find any leading delimiters */ do for (t = ct, ts = NIL; *t; t++) if (*t == *s) { if (*(ts = ++s)) break; /* yes, restart search if more in string */ return NIL; /* else no more tokens */ } while (ts); /* continue until no more leading delimiters */ /* can we find a new delimiter? */ for (ts = s; *ts; ts++) for (t = ct; *t; t++) if (*t == *ts) { *ts++ = '\0'; /* yes, tie off token at that point */ *r = ts; /* save subsequent tokens for future call */ return s; /* return our token */ } return s; /* return final token */}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -