随机读写要求读写完本位置的数据后,并不一定顺次读写下一个数据,而是可将文件位置指针移动到文件内部的任何位置。fseek()函数即可实现将文件指针移动到所需位置的功能。
fseek()函数的原型为:
int fseek(flle *fp,long offset,int origin)
fseek()函数的功能是把fp所指向文件的读写位置指针移动到指定的位置,若fseek()函数调用成功则返回0,否则返回一个非负数。
fseek()函数的一般调用形式为:
fseek(fp,Offset,origin)
其中:
•fp:文件指针。
•origin:指明以什么地方为基准进行指针移动。起点位置有文件的开头、文件指针当前位置和文件尾,如表所示。
起始点 | 表示符号 | 数字表示 |
文件开始 | SEEK_SET | 0 |
当前位置 | SEEK_CUR | 1 |
文件尾 | SEEK_END | 2 |
offset:位移量,以origin为基准,指针向前或向后移动的字节数。位移量为正,指针向后移动;位移量为负,指针向前移动。当用常量表示位移量时,要求加后缀“L”。例如:
fseek(fp,50L,0);
把文件位置指针移动到离文件开头50字节处。
fseek(fp,50L,1);
把文件位置指针移动到离文件当前位置50字节处。
fseek(fp,-50L,2);
把文件位置指针移动到离文件尾50字节处。
已有 22658 名学员学习以下课程通过考试
最需教育客户端 软件问题一手掌握
去 App Store 免费下载 iOS 客户端
点击加载更多评论>>