- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
函数fseek() 用法
在阅读代码时,遇到了很早之前用过的fseek(),很久没有用了,有点陌生,写出来以便下次查阅。
函数功能是把文件指针指向文件的开头,需要包含头文件stdio.h
fseek
函数名: fseek
功 能: 重定位流上的文件指针
用 法: int fseek(FILE *stream, long offset, int fromwhere);
描 述: 函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset个字
节的位置。如果执行失败( 比如offset超过文件自身大小),则不改变stream指向的位置。
返回值: 成功,返回0,否则返回其他值。
fseek position the file position pointer for the file referenced by stream to the byte location calculated by
offset.
程序例:
[cpp]
01. #include stdio.h
02. long filesize(FILE *stream);
03. int main(void)
04. {
05. FILE *stream;
06. stream = fopen(MYFILE.TXT, w+);
07. fprintf(stream, This is a test);
08. printf(Filesize of MYFILE.TXT is %ld bytes\n, filesize(stream));
09. 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. }
无法加载插件。
int fseek( FILE *stream, long offset, int origin );
第一个参数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字节处。
使用实例:
[cpp]
01. #include stdio.h
02. #define N 5
03. typedef struct student {
04. long sno;
05. char name[10];
06. float score[3];
07. } STU;
08. void fun(char *filename, STU n)
09. {
10. FILE *fp;
11. fp = fopen(filename, rb+);
12. fseek(fp, -1L*sizeof(STU),SEEK_END);
13. fwrite(n, sizeof(STU), 1, fp);
14.
您可能关注的文档
- 软件代码检查单(C语言).pdf
- Dual-Luciferase(Promega)双荧光素酶报告系统 试剂盒说明书.pdf
- WX-98F(T)同期装置说明书.pdf
- 润新中文说明书-4吨全自动软化阀F63、F68系列.pdf
- EL817(S1) 规格书,Datasheet 资料.pdf
- 8-1试求下列函数的z变换.pdf
- SVF20N60F(PN)说明书_1.1-L.pdf
- 欧洲航天标准化合作组织(ECSS)标准简介.pdf
- SVF7N60T(F)(S)(MJ)说明书_1.3-L.pdf
- 德力西-301A+空调温控器说明书(中文).pdf
- 抢分秘籍10 带电粒子电场中的直线运动、偏转和交变电电场中的应用(三大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍11 带电粒子在组合场、叠加场中的运动(五大题型)(解析版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍11 带电粒子在组合场、叠加场中的运动(五大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍12 电磁感应中的电路与图像问题(二大题型)(解析版) -2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍12 电磁感应中的电路与图像问题(二大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍14 热力学定律与气体实验定律综合应用(五大题型)(解析版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍13 电磁感应中的动力学、能量和动量问题(三大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍14 热力学定律与气体实验定律综合应用(五大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍16 振动图像与波动图像的综合应用(三大题型)(解析版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍15 光的折射、全反射的综合应用(二大题型)(解析版)-2025年高考物理冲刺抢押秘籍.pdf
文档评论(0)