Advertisement
a20121248

myString.h

Oct 2nd, 2015
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.05 KB | None | 0 0
  1. #ifndef MYSTRING_H
  2. #define MYSTRING_H
  3.  
  4. char* my_Strchr(const char* s, int c);
  5. size_t my_Strspn(const char* s1, const char* s2);
  6. size_t my_Strcspn(const char* s1, const char* s2);
  7. char* my_Strtok(char* str, const char* delim);
  8.  
  9. char* my_Strchr(const char* s, int c) {
  10.     while (*s != (char) c)
  11.         if (!*s++)
  12.             return 0;
  13.     return (char*) s;
  14. }
  15.  
  16. size_t my_Strspn(const char* s1, const char* s2) {
  17.     size_t ret = 0;
  18.     while (*s1 && my_Strchr(s2, *s1++))
  19.         ret++;
  20.     return ret;
  21. }
  22.  
  23. size_t my_Strcspn(const char* s1, const char* s2) {
  24.     size_t ret = 0;
  25.     while (*s1)
  26.         if (my_Strchr(s2, *s1))
  27.             return ret;
  28.         else
  29.             s1++, ret++;
  30.     return ret;
  31. }
  32.  
  33. char* my_Strtok(char* str, const char* delim) {
  34.     static char* p = 0;
  35.     if (str)
  36.         p = str;
  37.     else if (!p)
  38.         return 0;
  39.     str = p + my_Strspn(p, delim);
  40.     p = str + my_Strcspn(str, delim);
  41.     if (p == str)
  42.         return p = 0;
  43.     p = *p ? *p = 0, p + 1 : 0;
  44.     return str;
  45. }
  46.  
  47. #endif  /* MYSTRING_H */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement