博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
fseek()函数
阅读量:6264 次
发布时间:2019-06-22

本文共 971 字,大约阅读时间需要 3 分钟。

fseek()函数

int fseek(FILE *stream, long offset, int fromwhere);fseek 用于二进制方式打开的文件,移动文件读写指针位置.

第一个参数stream为文件指针

第二个参数offset为偏移量,整数表示正向偏移,负数表示负向偏移,即光标向后移一个单位,换行符占两个单位
第三个参数origin设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_END 或 SEEK_SET

SEEK_SET: 文件开头

SEEK_CUR: 当前位置
SEEK_END: 文件结尾
其中SEEK_SET,SEEK_CUR和SEEK_END和依次为0,1和2. 

简言之:

fseek(fp,100L,0);把fp指针移动到离文件开头100字节处;
fseek(fp,100L,1);把fp指针移动到离文件当前位置100字节处;
fseek(fp,100L,2);把fp指针退回到离文件结尾100字节处。

应用实例:

1 #include 
2 long filesize(FILE *stream); 3 int main(void) 4 { 5 FILE *stream; 6 stream = fopen("MYFILE.TXT", "w+"); 7 fprintf(stream, "This is a test"); 8 printf("Filesize of MYFILE.TXT is %ld bytes/n", filesize(stream)); 9 fclose(stream);10 return 0;11 }12 long filesize(FILE *stream)13 {14 long curpos, length;15 curpos = ftell(stream);16 fseek(stream, 0L, SEEK_END);17 length = ftell(stream);18 fseek(stream, curpos, SEEK_SET);19 return length;20 }

 

转载于:https://www.cnblogs.com/macong/archive/2012/11/12/2766255.html

你可能感兴趣的文章
svg与视频结合的镂空效果实践总结
查看>>
Scikit中的特征选择,XGboost进行回归预测,模型优化的实战
查看>>
Sklearn入门介绍
查看>>
Android广告图片轮播,支持无限循环和设置轮播样式、切换时间等
查看>>
screenX/Y,clientX/Y,offsetX/Y和pageX/Y之间有什么区别?
查看>>
webpack4.0优化那些事儿
查看>>
数据结构与算法(位运算) --javascript语言描述
查看>>
数据结构与算法(回溯法) --javascript语言描述
查看>>
百度地图开发实例番外篇--实用方法(持续更新)
查看>>
“大数据应用场景”之隔壁老王(连载一)
查看>>
k均值聚类算法(k-means)
查看>>
修改springboot的端口来启动项目
查看>>
MaxCompute SQL原理解析及性能调优
查看>>
vue中慎用style的scoped属性
查看>>
深度学习在股票市场的应用
查看>>
redis源码分析之事务Transaction(下)
查看>>
【273天】我爱刷题系列(32)
查看>>
Hystrix基础入门和特性讲解
查看>>
webpack-dev-server模块
查看>>
解决brew默认安装iamgemagick7导致wand库运行错误问题
查看>>