c语言读取文件最后一行定位问题

fseek函数可以在fopen打开的文件中直接移动到任意字节处,

函数原型: int fseek(fp,0L,SEEK_SET);

fseek 函数第一个参数是要操作的文件指针,第二个是定位的偏移量,long类型,第三个参数是模式。

例如:   fseek ( fp, 0L,SEEK_SET); 定位到文件开始处。

      fseek ( fp,+10L,SEEK_CUR);定位在当前位置的后10个字节处。

     fseek (fp,-10L,SEEK_END);定位在文件末尾,然后向前移动10个字节处。

但是若是和fgetc函数一起用时,注意fgetc函数每使用一次就会使光标向后移动一字节。

所以:  fp = fopen(file,"r");

    fseek(fp,0L,SEEK_END);

    ch = fgetc(fp);

    fseek (fp,-2L,SEEK_CUR);  //函数必须向前位移两个字节才能读到读过的上一个字节。

    ch = fgetc(fp);

猜你喜欢

转载自www.cnblogs.com/crine/p/11721037.html