Advertisement
avr39ripe

kirilStrPractice

Feb 6th, 2021
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.87 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. int strlenM(const char* str)
  4. {
  5.     int len{ 0 };
  6.  
  7.     while ( *str++ )
  8.     {
  9.         ++len;
  10.     }
  11.  
  12.     return len;
  13. }
  14.  
  15. // "Test string to find length\0"X
  16. void printStr(const char* str) // str -> T
  17. {
  18.     //int len{ strlenM(str) };
  19.  
  20.     //for (int i{ 0 }; i < strlenM(str); ++i)
  21.     //{
  22.     //  std::cout << str[i];
  23.     //}
  24.  
  25.     while (*str) // (str++) - strT -> e
  26.     {
  27.         std::cout << *str++;
  28.     }
  29. }
  30.  
  31. /*
  32. *           *
  33. src - > TEST\0[][][][][]
  34.                     *
  35. dest -> [T][E][S][T][\0][][][]
  36. */
  37.  
  38.  
  39.  
  40.  
  41. char* strcpyM(const char* src, char* dest)
  42. {
  43.     char* destOrig{ dest };
  44.  
  45.     while (*src)
  46.     {
  47.         *dest++ = *src++;
  48.     }
  49.     *dest = '\0';
  50.  
  51.     return destOrig;
  52. }
  53.  
  54. char* strncpyM(const char* src, int destSize, char* dest)
  55. {
  56.     char* destOrig{ dest };
  57.     while (*src and --destSize)
  58.     {
  59.         *dest++ = *src++;
  60.     }
  61.     *dest = '\0';
  62.  
  63.     return destOrig;
  64. }
  65.  
  66. // src = "world!"
  67. // dest ='Hello "
  68.  
  69. // dest = "Hello world!"
  70.  
  71. char* strcatM(const char* src, char* dest)
  72. {
  73.     char* destOrig{ dest };
  74.  
  75.     while (*dest)
  76.     {
  77.         ++dest;
  78.     }
  79.     //dest += strlenM(dest);
  80.  
  81.     while (*src)
  82.     {
  83.         *dest++ = *src++;
  84.     }
  85.     *dest = '\0';
  86.  
  87.     return destOrig;
  88. }
  89.  
  90. char* strncatM(const char* src, int destSize, char* dest)
  91. {
  92.     char* destOrig{ dest };
  93.     while (*dest)
  94.     {
  95.         ++dest;
  96.     }
  97.  
  98.     while (*src and --destSize)
  99.     {
  100.         *dest++ = *src++;
  101.     }
  102.     *dest = '\0';
  103.  
  104.     return destOrig;
  105. }
  106.  
  107. int main()
  108. {
  109.     const int num{ 42 };
  110.     const int* ptrI{ &num };
  111.    
  112.     double temp{ 36.6 };
  113.     double* ptrD{ &temp };
  114.  
  115.     char str[150]{ "Hello " };
  116.     char str1[150]{"world!:)"};
  117.  
  118.     char* str2{ new char[6] };
  119.  
  120.     //str -> char* const str;
  121.  
  122.    
  123.     //str2[0] = 'Z';
  124.  
  125.     //std::cout << str2 << '\n';
  126.  
  127.     std::cout << strlenM(str) << '\n';
  128.     //std::cout << str << '\n';
  129.    
  130.     //str[0] = 'F';
  131.     //printStr(str);
  132.     //std::cout << strlenM(strncpyM(str, 6, str2)) << '\n';
  133.     //printStr(str2);
  134.  
  135.     strcatM(str1, str);
  136.     printStr(str);
  137.  
  138.     delete[] str2;
  139.     return 0;
  140. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement