Как "очистить" буфер в C

Необходимо ввести строку определенной длины, а потом ввести отдельный символ.

char* name = (char*)malloc(129 * sizeof(char));

char c;
int count = 0;
while ((c = getchar()) != '\n')
{
    if (count < 128)
    {
        name[count] = c;
        count++;
    }
}
name[count] = '\0';
name = (char*)realloc(name, (count + 1) * sizeof(char));

c = getchar();
putc(c, stdout);

Приходится итерироваться до конца введенной строки, чтобы буфер "очистился". Наверное, можно сделать как-то лучше. Как?


Ответы (0 шт):