文件的定位

/* * 2-6.c * * Created on: 2010-12-30 * Author: jinyong * 文件的定位 * 移动文件内部的位置指针到需要读写的位置,再进行读写,称为随机读写。 * 实现的主要函数由:rewind/fseek/ftell * * int fseek(FILE *stream,long offset,int whence); * 移动文件流的位置 * whence: * SEEK_SET,从距文件头offset位移量为新的读写位置 * SEEK_CUR,以目前的读写位置向后增加offset个位移量 * SEEK_END,以读写位置指向文件尾部后再增加offset个位移量 * 当whence值为SEEK_CUR或SEEK_END时,参数offset允许负值的出现。 * 调用成功返回0,错误返回-1 * 特例: * 1.将读写位置移动到文件头:fseek(FILE *stream,0,SEEK_SET); * 2.将读写位置移动到文件尾:fseek(FILE *stream,0,SEEK_END); * * long ftell(FILE *stream) * 取得文件流的读取位置 * 成功返回目前的读取位置,失败返回-1 * * void rewind(FILE *stream); * 重设文件流的读写位置为文件开头 * 无返回值 */ #include <stdio.h> int main(void) { FILE *fp; long offset; fpos_t pos; fp = fopen("/etc/passwd","r"); fseek(fp, 10, SEEK_SET); //从文件开头向后移动10个位移量 printf("文件流的位移量:%d/n",ftell(fp)); fseek(fp, 0, SEEK_END);//移动到文件末尾 printf("文件流的位移量:%d/n",ftell(fp)); rewind(fp);//重置文件位移量到文件头 printf("文件流的位移量:%d/n",ftell(fp)); fclose(fp); return 0; }  

你可能感兴趣的:(文件的定位)