Advertisement
IzhanVarsky

Untitled

Mar 26th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.59 KB | None | 0 0
  1. char *resize(const char *str, size_t size, size_t new_size) {
  2.     char *newStr = new char[new_size];
  3.     for (int i = 0; i < min(size, new_size); ++i) {
  4.         newStr[i] = str[i];
  5.     }
  6.     delete[] str;
  7.     return newStr;
  8. }
  9.  
  10. char *getline() {
  11.     size_t size = 10;
  12.     char *str = new char[size];
  13.     size_t curLen = 0;
  14.     char c;
  15.     while (cin >> c) {
  16.         if (c == '\n') break;
  17.         if (curLen == size - 1) {
  18.             str = resize(str, size, size * 2);
  19.             size *= 2;
  20.         }
  21.         str += c;
  22.         curLen++;
  23.     }
  24.     str += '\0';
  25.     return str;
  26. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement