C语言中读取文件时怎么跳过某行

2024-11-27 21:47:52
推荐回答(3个)
回答1:

  1. 可以使用fseek函数,直接偏移指针的指向位置到第二行。

    函数原型

    int fseek(FILE *stream, long offset, int fromwhere);函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置,函数返回0。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置,函数返回一个非0值。

  2. 可以使用fgets函数,遇到需要跳过的行时,直接读取该行并弃舍该行字符值。

    函数原型
    char *fgets(char *buf, int bufsize, FILE *stream);
    参数
    *buf: 字符型指针,指向用来存储所得数据的地址。
    bufsize: 整型数据,指明存储数据的大小。
    *stream: 文件结构体指针,将要读取的文件流。

回答2:

你可以继续读取,不处理就是了,一直读到换行符 \n 。下一个在读就是下一行了

回答3:

其后字节数是固定的吗?是的话可以使用fseek(fp,N,1);就是从文件指针fp当前位置往后移动N字节的位置