在LinuxC编程中,如何读取文件中的某些特定行并在控制台中打印它们

在LinuxC编程中,如何读取文件中的某些特定行并在控制台中打印它们,c,linux,printf,C,Linux,Printf,我在一个文件中写了两行新行。新行将追加到此文件。如何将这两个新行打印到控制台 你能给我举几个例子吗 过程如下: fd=open(文件,O_WRONLY | O_APPEND,0666) ret=read(0,buf,100) write(文件,buf,strlen(buf)) 问题是第四个过程。我怎样才能读到刚才写在文件中的新行,而不是这个文件中的旧内容。下面是我打印全部内容的代码 FILE *fptr; char chr; fptr = fopen(file, "r"); if (fptr =

我在一个文件中写了两行新行。新行将追加到此文件。如何将这两个新行打印到控制台

你能给我举几个例子吗

过程如下:

  • fd=open(文件,O_WRONLY | O_APPEND,0666)
  • ret=read(0,buf,100)
  • write(文件,buf,strlen(buf))

  • 问题是第四个过程。我怎样才能读到刚才写在文件中的新行,而不是这个文件中的旧内容。下面是我打印全部内容的代码

    FILE *fptr;
    char chr;
    fptr = fopen(file, "r");
    if (fptr == NULL)
    {
        perror("open");
        exit(1);
    }
    chr = fgetc(fptr);
    while(chr != EOF) {
        printf("%c", chr);
        chr = fgetc(fptr);
    }
    clearerr (fptr);
    fclose(fptr);
    

  • 如果你想读回你刚才写的数据,那么你可以使用
    ftell
    获得你在文件中的位置,然后写入,然后
    fseek
    重新定位到同一点并读取

    看看
    printf
    fputs
    命令。非常模糊。需要更多的解释。最重要的是,你需要看到你为解决这个问题所做的一些努力,也许是一些代码。如果你不澄清,这些问题将被标记为“不清楚你在问什么”。