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重定位流上的文件指针

RackNerd提供四款高配美国服务器促销活动低至月$189

RackNerd 商家给的感觉就是一直蹭节日热点,然后时不时通过修改配置结构不断的提供低价年付的VPS主机,不过他们家还是在做事的,这么两年多的发展,居然已经有新增至十几个数据中心,而且产品线发展也是比较丰富。比如也有独立服务器业务,不过在他们轮番的低价年付VPS主机活动下,他们的服务器估摸着销路不是太好的。这里,今天有看到RackNerd商家的独立服务器业务有促销。这次提供美国多个机房的高配独立...

易探云:香港物理机服务器仅550元/月起;E3-1230/16G DDR3/SATA 1TB/香港BGP/20Mbps

易探云怎么样?易探云(yitanyun.com)是一家知名云计算品牌,2017年成立,从业4年之久,目前主要从事出售香港VPS、香港独立服务器、香港站群服务器等,在售VPS线路有三网CN2、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。目前,易探云推出免备案香港物理机服务器性价比很高,E3-1230 8 核*1/16G DDR3/SATA 1TB/香港BGP线路/20Mbps/不限流量,仅...

1C2G5M轻量服务器48元/年,2C4G8M三年仅198元,COM域名首年1元起

腾讯云双十一活动已于今天正式开启了,多重优惠享不停,首购服务器低至0.4折,比如1C2G5M轻量应用服务器仅48元/年起,2C4G8M也仅70元/年起;个人及企业用户还可以一键领取3500-7000元满减券,用于支付新购、续费、升级等各项账单;企业用户还可以以首年1年的价格注册.COM域名。活动页面:https://cloud.tencent.com/act/double11我们分享的信息仍然以秒...

fseek为你推荐
存储区域网络网络存储技术的SAN(存储区域网络)的优点scriptmanager怎么解决ScriptManager和Jqery冲突暴力破解rar求暴力破解rar压缩包软件刷ip流量如何刷自己网站的IP流量在线直播系统网络视频直播系统的简介netbios协议现在怎么还有用NetBios协议的,这个协议和TCP/IP协议有什么关系,为什么获取网卡的信息还要selectintooracle有select into临时表的用法吗防火墙技术应用在网络支付流程中,防火墙技术与数据加密技术应用则重点有什么不同?怎么查微信注册时间怎么查看自己的微信号用了多久泛微协同办公系统泛微OA系统怎么创建新人员
中国万网虚拟主机 本网站服务器在美国维护 美元争夺战 博客主机 nerd 好看的桌面背景大图 创梦 我爱水煮鱼 183是联通还是移动 重庆双线服务器托管 Updog 云营销系统 湖南idc 深圳主机托管 重庆联通服务器托管 免费获得q币 windowsserver2008 美国主机 网络安装 更多