c文件 *** 作 怎么返回文件内部指针

c文件 *** 作 怎么返回文件内部指针,第1张

返回文件内部指针位置: int fgetpos ( FILE * stream, fpos_t * position )

fpos_t pos // 指针位置 变量声明

pFile = fopen ("myfile.txt","r") // 打开文件

.... // 读啊,fseek 啊

fgetpos (pFile,&pos) // 返回 当前文件内部指针位置pos

.... // 读啊,fseek 啊

fsetpos (pFile,&pos) // 设指针位置,回到老地方pos

...

=================

另一种方法:

long size=ftell (pFile) ftell 与 fseek 配用。它告诉 离开文件开始处 多少 字节。

文件指针不是记录在文件系统内的,而是程序自己维护的一个位置信息,关闭后,文件对象销毁,这个信息自然也不复存在,第二次打开,肯定不会记录上次 *** 作的位置,如果是标准c库的FILE系列函数,根据打开模式,如果是追加模式,则在文件尾,其他模式,在文件头。如果是win32api或者linux/unix系统函数等,则根据手册确定,一般位于头部

1. 你写入文件进是按一行一个结构体写入的,这时你有没有用换行符,如果有,你就要在fseek时加入换行符的字节。

2. n在fseek时要减1,fseek(fp,(n-1)*44L,SEEK_SET)才是你要修改的数据。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8083050.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存