char* fgetline(FILE* fp) { int size = 0; char* line = malloc(size++); char buf = ' '; while (((buf = fgetc(fp)) != '\n') && buf != EOF) { printf("%c\n", ch); line = realloc(line, ++size); line[size - 1] = buf; } if (size > 1) { line[size] = '\0'; } return line; }