str.c 508 B

12345678910111213141516171819202122232425
  1. #include "str.h"
  2. #include "bool.h"
  3. #include <stdlib.h>
  4. int get_str_size(char *str) {
  5. int size = 0;
  6. for (char *s = str; *s != '\0'; s++)
  7. size++;
  8. return size;
  9. }
  10. char *get_middle(char *str, int start, int end, BOOL include) {
  11. int size;
  12. if (include)
  13. size = end - (--start);
  14. else
  15. size = end - start - 1;
  16. char *str2 = (char *)malloc(sizeof(char) * size + 1);
  17. if (!str2)
  18. return NULL;
  19. for (int i = 0; i < size; i++)
  20. str2[i] = str[start + i];
  21. str2[size] = 0;
  22. return str2;
  23. }