Идиоматический способ читать файл построчно, пока он не заканчивается, -
/* assume line is a char array */
while (fgets(line, sizeof line, handle)) {
size_t len = strlen(line);
if (len && (line[len - 1] != '\n')) {
/* incomplete line */
}
/* possibly remove trailing newline ... and */
/* deal with line */
}