如何从多个文件顺序打印行?

时间:2019-05-02 19:29:24

标签: c

我试图编写一个给定文本文件数组的函数,它在同一行上打印共享相同索引的所有行,例如:

文件1:

文件2:

1

2

输出:

嘿1

有2

我似乎找不到一种像有人在数组上那样遍历所有文件的方法。这就是我被困在的地方:

void paste(FILE** files,int argc){
    int maxLines = getMaxLines(files,argc);
    int line = 1;
    //char buf[256];
    char ch;
    for (int i=0; i<maxLines; i++){
        for (int j=1; j<argc; j++){
            while ((ch=fgetc(files[j])) != '\n'){
                putchar(ch);
            }
        }
        printf("\n");
        line++;
    }
    //printf("%d",maxLines);
}

很显然,它没有达到预期的目的,但是我认为我的主要思想是这段代码。如何使用行索引遍历行?我如何以这种方式访问​​每一行?

1 个答案:

答案 0 :(得分:0)

创建一个从文件中打印行的函数-基本上是while循环(不需要行索引,因为文件中的位置是持久的,这意味着每次您为某个文件调用该函数,将打印下一行。)

现在遍历文件,一次又一次地打印一行,直到其中一个到达eof。