Как "очистить" буфер в 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);
Приходится итерироваться до конца введенной строки, чтобы буфер "очистился". Наверное, можно сделать как-то лучше. Как?