<编程达人入门课程> 本节内容 随机读取 视频提供:昆山爱达人信息技术有限公司
<编程达人入门课程> 1、引出问题: size_t fread( void *buffer, size_t size, size_t count, FILE *stream ); 如果我们想从指定的位置进行读取改怎么办呢? 就像播放器都支持任意位置播放一样
<编程达人入门课程> 2、fseek函数: int fseek( FILE *stream, long offset, int origin ); stream 文件指针 offset 偏移量 origin 相对哪里 返回值: 0 成功 -1 失败
<编程达人入门课程> 3、举例说明: 跳到距离头部2个字节的位置 fseek(fp,2,SEEK_SET); 跳到距离尾部2个字节的位置 fseek(fp,2,SEEK_END); 跳到距离当前位置前2个字节的位置 fseek(fp,-2,SEEK_CUR); 跳到距离当前位置后2个字节的位置 fseek(fp,2,SEEK_CUR);
<编程达人入门课程> 4、获取文件长度: long ftell( FILE *stream );
<编程达人入门课程> 5、正确的读取文件方式: <1> 反复fseek效率低下且容易出错,不建议使用。 <2> 申请一块和文件同样大小的内存,将文件一次读取到内存中进行处理。 <3> 针对大文件(超过2G),可以使用内存映射的方式来实现。
<编程达人入门课程> 课后作业: <编程达人官网:http://www.bcdaren.com/> 视频提供:昆山爱达人信息技术有限公司 官网地址:www.bcdaren.com 联系QQ:1250121864 QQ交流群:252188393,246407901 联系电话:0512-57882866