fork download
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4. using namespace std;
  5.  
  6. const char** stara(const char* str)
  7. {
  8. const char* p = str;
  9. int n = 0;
  10. while (*p)
  11. {
  12. ++n;
  13. p += (strlen(p) + 1);
  14. }
  15.  
  16. const char* *arr = new const char*[n+1];
  17.  
  18. p = str;
  19. n = 0;
  20. while (*p)
  21. {
  22. arr[n++] = p;
  23. p += (strlen(p) + 1);
  24. }
  25.  
  26. arr[n] = NULL;
  27.  
  28. return arr;
  29. }
  30.  
  31. int main()
  32. {
  33. const char* *arr = stara("I\0had\0a\0little\0lamb\0");
  34.  
  35. const char **p = arr;
  36. while (*p)
  37. {
  38. std::cout << *p << std::endl;
  39. ++p;
  40. }
  41.  
  42. // arr[0] = "I"
  43. // arr[1] = "had"
  44. // arr[2] = "a "
  45. // arr[3] = "little"
  46. // arr[4] = "lamb"
  47.  
  48. delete[] arr;
  49.  
  50. return 0;
  51. }
Success #stdin #stdout 0s 16064KB
stdin
Standard input is empty
stdout
I
had
a
little
lamb