Есть ли способы построчного чтения из файла в си(на linux)?

Есть ли способы построчного чтения из файла в си(на linux) или единственный способ читать по одному символу до \n?


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

Автор решения: Andrey RF

Если ты не хочешь написать свою реализацию чтения файла по строкам на C, то можно воспользоваться функцией getline() доки

#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    FILE * fp;
    char * line = NULL;
    size_t len = 0;
    ssize_t read;

    fp = fopen("/etc/motd", "r");
    if (fp == NULL)
        exit(EXIT_FAILURE);

    while ((read = getline(&line, &len, fp)) != -1) {
        printf("Retrieved line of length %zu:\n", read);
        printf("%s", line);
    }

    fclose(fp);
    if (line)
        free(line);
    exit(EXIT_SUCCESS);
}

Похожий вопрос

→ Ссылка