Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef MYSTRING_H
- #define MYSTRING_H
- char* my_Strchr(const char* s, int c);
- size_t my_Strspn(const char* s1, const char* s2);
- size_t my_Strcspn(const char* s1, const char* s2);
- char* my_Strtok(char* str, const char* delim);
- char* my_Strchr(const char* s, int c) {
- while (*s != (char) c)
- if (!*s++)
- return 0;
- return (char*) s;
- }
- size_t my_Strspn(const char* s1, const char* s2) {
- size_t ret = 0;
- while (*s1 && my_Strchr(s2, *s1++))
- ret++;
- return ret;
- }
- size_t my_Strcspn(const char* s1, const char* s2) {
- size_t ret = 0;
- while (*s1)
- if (my_Strchr(s2, *s1))
- return ret;
- else
- s1++, ret++;
- return ret;
- }
- char* my_Strtok(char* str, const char* delim) {
- static char* p = 0;
- if (str)
- p = str;
- else if (!p)
- return 0;
- str = p + my_Strspn(p, delim);
- p = str + my_Strcspn(str, delim);
- if (p == str)
- return p = 0;
- p = *p ? *p = 0, p + 1 : 0;
- return str;
- }
- #endif /* MYSTRING_H */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement