Тема: Ввід стрічки довільної довжини c++
Поясніть, будь ласка, цей фрагмент коду, починаючи (*)
cout << "Enter a string:\n";
char c = getchar();
if (c == '\n')return 0;
//зчитування стрічки
int p;
p=cin.rdbuf()->in_avail(); // (*)
char *str = new char[p];
cin.getline(str, p);
при виводі код "з'їдає" перший символ, щоб ви порадили у вирішенні цієї проблеми?