fork download
  1. #include <iostream>
  2. #include <string.h>
  3.  
  4. int strsplit(const char *str, char splitter, char *vec[], int count) {
  5. if (!str || !str[0] || !vec || !count)
  6. return 0;
  7.  
  8. int i = 0;
  9. bool quitting = false;
  10. const char *p = str;
  11. while (p != 0 && i < count && !quitting) {
  12. int count = 0;
  13. const char *tmp = p;
  14. while (*p != splitter) {
  15. if (*p == 0)
  16. quitting = true;
  17. p++;
  18. count++;
  19. }
  20.  
  21. vec[i] = new char[++count];
  22. memcpy(vec[i], tmp, count);
  23. vec[i][count] = 0;
  24.  
  25. i++;
  26. p++;
  27. }
  28.  
  29. return i;
  30. }
  31.  
  32. int main() {
  33. const char* str = "Задрали строки, оканчивающиеся на ноль";
  34. char *strvec[100];
  35. if (strsplit(str, ' ', strvec, 100) > 1)
  36. std::cout << strvec[1] << std::endl;
  37. return 0;
  38. }
Success #stdin #stdout 0s 3472KB
stdin
Standard input is empty
stdout
строки,