выделить буфер и расширить его, когда он заполнится.

я хочу прочитать строку произвольной длины из командной строки, как лучше всего это сделать?

На данный момент я делаю это:

char name_buffer [ 80 ];
int chars_read = 0;
while ( ( chars_read < 80 ) && ( !feof( stdin ) ) ) {
   name_buffer [ chars_read ] = fgetc ( stdin );
   chars_read++;
}

Но что я могу сделать, если длина строки превышает 80 символов? Очевидно, я мог бы просто инициализировать массив большим числом, но я уверен, что должен быть лучший способ дать массиву больше места, используя malloc или что-то еще?

Любые намеки будут великолепны.

Ответы на вопрос(2)

Ваш ответ на вопрос