逐行读取文件而不从C中的行开头移动指针

时间:2017-03-15 22:38:54

标签: c

我有一个问题,我需要访问一个文件并读出我必须在该行的每个字符上执行函数的每一行。到目前为止,我所尝试的是使用这段代码。

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

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

    stream = fopen("file.txt", "r");
    if (stream == NULL)
        exit(EXIT_FAILURE);

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

    free(line);
    fclose(stream);
    exit(EXIT_SUCCESS);
}

然而,当我尝试这个时,我无法对该行的每个字符执行该函数的操作,因为字符指针在读取一行后已经移动到每一行的末尾。

如何逐行读取文件时访问行的每个字符。任何帮助将非常感激。谢谢!

0 个答案:

没有答案