经过一段时间的实践,我最终还是被事实说服了,上一贴,说"两套函数各自
保存一个文件指针",这是正确的,但,就像 "ljm" 说的,fwrite(以下称为1f) 这一套有缓冲,write(以下称为2f)也有,但write不是直接写入,是使用了fwrite的缓冲,(或者说1f使用了2f的缓冲,总之是共用一个缓冲),因此 2f 和 1f 相互影响,当缓冲写玩了(4096),他们就会将缓冲写入文件,之后呢,清除缓冲,接下来的事情足以使想法夭折,他们将指针重置,同时 + 4096(缓冲大小),...
看来,想维护"2f在前面写,1f在后面接着写",只有一个办法可以使用,就是增大文件缓冲.使用setbuf,setvbuf...
不过,这样就会使得操作的数据容易丢失,因为,在写入文件之前,数据必须
都在缓冲中,看来,还需要新的血液来补充这个想法....
... ... 待续 |