哪位高手在,讲讲文件指针是如何移动的

谁在,讲讲文件指针是怎么移动的
谁在,讲讲文件指针是怎么移动的



文件打开时指针是在哪?是0吗?我读取数据时,是从文件指针指向位开始读吗?如果文件指针在0的位置,我读8位数据后,指针是不是指向了7?继续读的时候是不是从7开始?这样是不是重复读了第7位?


------解决方案--------------------
文件指针随读随走,到文件结尾就会得到EOF
如果没有手工设置文件指针,不会重复读取
------解决方案--------------------
你打开文件后指针在0位置,你读了8位数据后指针指向7(可以这么理解),如果这个文件你没有fclose关闭的话,继续读就从7开始,如果fclose关闭了的话,再次打开指针又为0了,也就是说如果第一次读了8位,你关闭文件了,想继续从上次读完位置再次读取的话,就要fseek,将文件读取指针设定到上次读的位置
------解决方案--------------------
我还以为是FILE *FP,这个指针的移动那就瞬间高端了

你说的那个叫:stream position indicator
------解决方案--------------------
你打开文件后指针在0位置,你读了8个字节而不是8位的数据后指针指向8而不是7
------解决方案--------------------
探讨

你打开文件后指针在0位置,你读了8位数据后指针指向7(可以这么理解),如果这个文件你没有fclose关闭的话,继续读就从7开始,如果fclose关闭了的话,再次打开指针又为0了,也就是说如果第一次读了8位,你关闭文件了,想继续从上次读完位置再次读取的话,就要fseek,将文件读取指针设定到上次读的位置

------解决方案--------------------
可以用ftell或_tell或_telli64或SetFilePointer

获取当前文件读写位置。不过要注意:
When the "r+", "w+", or "a+" access type is specified, both reading and writing are allowed (the file is said to be open for “update”). However, when you switch between reading and writing, there must be an intervening fflush, fsetpos, fseek, or rewind operation. The current position can be specified for the fsetpos or fseek operation, if desired.


------解决方案--------------------
打开文件刚开始的时候是从0开始,可以用ftell查看,之后读8个就是到第八个,不是第七个,不会有重读现象