line
- это указатель, но он никуда не указывает (или, что еще лучше, он не был инициализирован и его значение неопределенное и непригодное для использования).Указатель, который нигде не указывает, не очень полезен.
Выделите немного памяти и заставьте line
указать на эту память.Не забудьте освободить память, когда она вам больше не нужна. Значение
line = malloc(200);
if (line == NULL) { /* something went wrong, the pointer is pointing nowhere */ }
/* ... use allocated memory ... */
free(line);
Oh ... и bufsize
должно соответствовать количеству выделенных вами байтов.
Также #include <stdlib.h>
, поскольку *У 1012 * и free()
есть свой прототип.