关于lseek的用法!急!!

来源:百度知道 编辑:UC知道 时间:2024/06/11 15:03:05
我先用write函数写数据进去,然后再读出来用一个sort函数对数据进行排序,排序之后再把数据write到文件中,我不想删掉之前写进去的数据,下次用read函数读文件的时候想指针是指到排序好的文件那里,就是利用lseek函数将指针从之前写进去的那里移动到已经排序的数据那里!!新手悬赏不多,拜托帮忙!!!谢谢!!!
已经解决了,就是直接在读完数据的时候直接把移动到末尾,下次读的时候就已经是那个位置了!谢谢!

思路是这样的。

我想你的意思是说在文件中有两份同样的数据,一份在前面未排序,一会在后面,排序

方法很简单。
先移至末尾,会吧,这个简单
然后利用tell函数求出文件长度(在末尾时候的偏移就是文件长度)
除以2的值就是要移动去的地方,再移动到文件的中间
即可

先得到原文件的长度,然后在将光标移到该位置顺序往下读取文件就行了。