Advertisement
Guest User

getline

a guest
Dec 5th, 2019
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.41 KB | None | 0 0
  1. char *getline(istream& in)
  2. {
  3.     const int BUF_LEN = 50;
  4.  
  5.     int len = BUF_LEN;
  6.     int i = 0;
  7.  
  8.     char * str = (char*)malloc(BUF_LEN * sizeof(char)), c;
  9.  
  10.     while (in.get(c) && c != '\n')
  11.     {
  12.         if (i == len)
  13.         {
  14.             str = (char*)realloc(str, len += BUF_LEN);
  15.         }
  16.         str[i++] = c;
  17.     }
  18.  
  19.     char * rez = new char[i + 1];
  20.     for (int j = 0; j < i; ++j)
  21.     {
  22.         rez[j] = str[j];
  23.     }
  24.     rez[i] = 0;
  25.  
  26.     free(str);
  27.     return rez;
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement