# include <stdio.h>
# include <string.h>
# define strtok _strtok
# define strspn _strspn
# define strcspn _strcspn
# define strchr _strchr
# define strlen _strlen
size_t strlen(const char *s)
{
const char *_p;
for (_p = s; *_p; _p++);
return _p - s;
}
char *strchr(const char *s, int c)
{
char *_p = (char *)s;
if (!c)
return _p += strlen(s);
for (; *_p && *_p != (char)c; _p++);
return *_p ? _p : NULL;
}
size_t strspn(const char *s, const char *accept)
{
const char *_p;
for (_p = s; *_p && strchr(accept, (int)*_p); _p++);
return (_p - s);
}
size_t strcspn(const char *s, const char *accept)
{
const char *_p;
for (_p = s; *_p && !strchr(accept, (int)*_p); _p++);
return (_p - s);
}
char *strtok(char *str, const char *delim)
{
static char *_p;
char *ret;
if (str)
_p = str;
_p += strspn(_p, delim);
ret = _p;
_p += strcspn(_p, delim);
if (!*_p && !*ret)
return NULL;
*_p++ = '/0';
return ret;
}
int main(int argc, char **argv)
{
char str[] = "/ndwA string/r/n/r/nof tks/nand some /r/n/n/rmore tks/n";
char *tk;
char seps[] = "/r/n";
for (tk = str; tk = strtok(tk, seps); tk = NULL)
{
printf("%s/n", tk);
}
return 0;
}
自己实现的一些字符串处理的函数
最新推荐文章于 2021-03-07 14:15:41 发布