C语言文件指针自动移动

老师说C语言在读写文件的时候,文件内部指针会自动向后移,指向将要读或者写的,但还没有操作的字节。那么这个文件内部指针是不是就是用打开文件函数所赋值的那个指针?而且它的自动... 老师说C语言在读写文件的时候,文件内部指针会自动向后移,指向将要读或者写的,但还没有操作的字节。
那么这个文件内部指针是不是就是用打开文件函数所赋值的那个指针?
而且它的自动移动是不是因为我们用函数操作文件,因此函数中包含了使指针移动的语句?还是操作程序自动给任何程序(包括C程序)执行的?
求高手!!
展开
 我来答
疯籽1987
推荐于2017-10-10 · 超过20用户采纳过TA的回答
知道答主
回答量:94
采纳率:0%
帮助的人:35.7万
展开全部
文件内部指针不是就是用打开文件函数所赋值的那个指针,
打开函数的指针,是文件流的指针,指向这个文件流。
内部指针指向当前操作在文件流中的位置
fp是文件指针的话
可以使用ftell(fp)来获取当前内部指针位置。

也有fseek函数来设置内部指针位置,这些函数调用的时候,必须使用文件流的 指针。文件流的指针始终是这个fp,但内部指针的位置是一直在移动的,没有一个可见的内部指针的变量来让你操作,只对文件指针操作就可以了。

读写文件的时候内部指针自动移动,是C的IO系统管理来实现的,这个文件流其实仍然是IO,跟键盘鼠标都是由IO系统管理来做的,不用去关心底层的具体操作,只要知道读写操作以后内部指针变了,就行。
jndxg
推荐于2017-09-10 · TA获得超过1.1万个赞
知道大有可为答主
回答量:2946
采纳率:100%
帮助的人:1592万
展开全部
文件内部指针不是就是用打开文件函数所赋值的那个指针,
打开函数的指针,是文件流的指针,指向这个文件流。
内部指针指向当前操作在文件流中的位置
fp是文件指针的话
可以使用ftell(fp)来获取当前内部指针位置。

也有fseek函数来设置内部指针位置,这些函数调用的时候,必须使用文件流的 指针。文件流的指针始终是这个fp,但内部指针的位置是一直在移动的,没有一个可见的内部指针的变量来让你操作,只对文件指针操作就可以了。

读写文件的时候内部指针自动移动,是C的IO系统管理来实现的,这个文件流其实仍然是IO,跟键盘鼠标都是由IO系统管理来做的,不用去关心底层的具体操作,只要知道读写操作以后内部指针变了,就行。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
潘达lya
2013-01-09 · TA获得超过1475个赞
知道小有建树答主
回答量:509
采纳率:0%
帮助的人:439万
展开全部
文件指针你不能直接使用,打开文件的那是流指针,永远指向流本身,修改文件内容指针的位置,只能通过fseek来设置,而且得到值不是指针,只是个长度,文件指针是系统管理的,你不能直接操作这个指针,你读取成功后指针后移是系统完成的,不是C语言函数完成的,C语言实现文件操作也是通过调用系统API实现的,文件是操作系统的一个对象,直接操作他的是windows系统,并不是C语言。。。。
当然我说的这些特指WINDOWS系统的C语言程序,其他环境的,甚至是裸机环境的肯定不是这样,C语言只规定了语法和函数功能,不规定实现方法(这没法规定)。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a9aac05dc
2013-01-09 · TA获得超过139个赞
知道小有建树答主
回答量:195
采纳率:0%
帮助的人:133万
展开全部
初学C语言就考虑到这么多,真不错~
fopen返回的FILE *其实就是个int *,那个int只是当前c打开的文件的标识,并不是文件指针。在windows,fopen 底层调用了API CreateFile,这个API返回的HANDLE类型也不是文件指针,文件指针是隐藏的,用户基本看不到的。
指针自动移动(fread/fwrite)是调用了相应API(ReadFile/WriteFile)的结果,即API自行修改了文件指针。
还有什么问题。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友15dbac2
2013-01-09 · TA获得超过123个赞
知道答主
回答量:122
采纳率:0%
帮助的人:70.9万
展开全部
微机原理中有个寄存器叫做指针寄存器他是随着程序的执行地址自动加一,你说的移动应该是地址的变化吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式