fseekfopen fwrite fseek什么的是什么意思?为什么前面都有个f?

fseek  时间:2021-06-19  阅读:()

各位C语言的高手们,小弟我今天遇到一个fseek函数,不知道他在一下程序的含义是什么,还望各位不吝赐教啊

fseek 用于二进制方式打开的文件,移动文件读写指针位置. 通常文件打开后,读写位置按先后顺序.但有时你想变动读写位置,例如重新从某处起,再读一次. fseek有3个参数,函数原型: int fseek( FILE *stream, long offset, int origin ); 第一个是文件流,第3个是指针零点位置,第2个是把指针移动到的地点. 第3个参数取值等于下列3个之1 SEEK_CUR -- 1 为当前指针位置 SEEK_END -- 2 为文件尾 SEEK_SET -- 0 为文件起始 第2个参数为偏移量,字节数,长整型. fseek(fp,i*sizeof(struct student),0); 把文件指针从文件头移动,i个结构体长度

关于C语言的fseek()函数中的起始位置当前位置如何理解?

这个问题要从FILE结构体的数据项组成讲起: struct _iobuf { char *_ptr; //文件输入的下一个位置 int t; //当前缓冲区的相对位置 char *_base; //指基础位置(即是文件的起始位置) int _flag; //文件标志 int _file; //文件的有效性验证 int _charbuf; //检查缓冲区状况,如果无缓冲区则不读取 int _bufsiz; //文件的大小 char *_tmpfname; //临时文件名 } FILE; (注:这是vc++6.0对FILE的定义) 在用fopen()函数打开文件后系统将自动建立一个数据块存放上述信息。

其中“char *_base; ” 指向文件头在缓冲区的位置(即fseek()函数第三形参origin的SEEK_SET常量) “char *_ptr;” 减一即文件指针的当前位置(即fseek()函数第三形参origin的SEEK_CUR常量) 函数原型:int fseek( FILE *stream, long offset, int origin ) 中offset参数是个相对变量,它是相对于origin而言的。

比如 int fseek( fp,100L,SEEK_SET); 就是以文件头为基准向后移动100个字节。

原理就是对内存中的FILE结构体中的元素作如下操作 FILE._ptr=FILE._base+100; int fseek( fp,100L,SEEK_CUR); 就是以文件的当前位置为基准向后移动100个字节,相应的:FILE._ptr+=100; 其他的就不多讲了.明白了吗?

fopen fwrite fseek什么的是什么意思?为什么前面都有个f?

f 前缀是单词 file 的缩写..表示这些函数是 文件操作函数..

fopen 打开一个文件

fwrite写文件

fseek重定位流上的文件指针

老用户专享福利 腾讯云 免费领取轻量云2核4G服务器一年

感恩一年有你!免费领取2核4G套餐!2核4G轻量应用服务器2核 CPU 4GB内存 60G SSD云硬盘 6Mbps带宽领取地址:https://cloud.tencent.com/act/pro/lighthousethankyou活动规则活动时间2021年9月23日 ~ 2021年10月23日活动对象腾讯云官网已注册且完成实名认证的国内站用户(协作者与子用户账号除外),且符合以下活动条件:账号...

旅途云(¥48 / 月),雅安高防4核4G、洛阳BGP 2核2G

公司成立于2007年,是国内领先的互联网业务平台服务提供商。公司专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,并引导云计算在国内普及。目前,旅途云公司研发以及运营云服务基础设施服务平台(IaaS),面向全球客户提供基于云计算的IT解决方案与客户服务,拥有丰富的国内BGP、双线高防、香港等优质的IDC资源。点击进入:旅途云官方网商家LOGO优惠方案:CPU内存硬盘带宽/流量/防御...

DiyVM:2G内存/50G硬盘/元起线路香港vps带宽CN2线路,香港VPS五折月付50元起

DiyVM是一家低调国人VPS主机商,成立于2009年,提供的产品包括VPS主机和独立服务器租用等,数据中心包括香港沙田、美国洛杉矶、日本大阪等,VPS主机基于XEN架构,均为国内直连线路,主机支持异地备份与自定义镜像,可提供内网IP。最近,商家对香港机房VPS提供5折优惠码,最低2GB内存起优惠后仅需50元/月。下面就以香港机房为例,分享几款VPS主机配置信息。CPU:2cores内存:2GB硬...

fseek为你推荐
暴力破解rar求暴力破解rar压缩包软件listviewitem怎么获取ListView里Item中的控件shoujiao求【叫兽】的简介netbios协议NETBEUI协议有什么用?selectintooracle有select into临时表的用法吗网站客服代码在线客服系统的代码添加到网站中,要怎么做?erp系统教程在一个公司里怎样去学ERP怎么查微信注册时间微信号用了多久,怎么知道短信套餐手机短信都有什么套餐idataparameterunsigned char idata是什么意思
上海vps 亚洲大于500m 域名商 sharktech 企业主机 腾讯云盘 xen ev证书 debian7 全站静态化 789电视 adroit idc查询 yundun 监控服务器 全能空间 徐州电信 免备案cdn加速 rewritecond 国外免费网盘 更多