2012-11-12 100 views
0

我想在文件中保存一個位置,然後將文件指針恢復到保存的位置。在C中執行以下操作的方法是什麼?

FILE *save = fp; 

//perform operations on file fp... 

.. 
.. 

//restore to previously saved location 

fp = save; 

我試過上面的方法,但它不起作用。

+0

兩個'save'和'fp'指向同一個位置,這是爲什麼。嘗試使用兩個'FILE'指針。 –

+0

除了'fseek()'和'ftell()'外,還有'fgetpos()'和'fsetpos()'。 –

回答

5

有關ftellfseek函數的信息,請參見this page。這些將允許您分別檢索和設置文件指針的位置。

long int originalPos = ftell(fp); 
// do stuff with file 
fseek(fp, originalPos, SEEK_SET); 
0

創建2個fp變量?使用你沒有執行的操作來恢復?

0

我想你要尋找的是fseekftelllong int pos = ftell(fp);獲取當前位置,並fseek(fp, pos, SEEK_SET);返回到該點。

相關的手冊頁:http://linux.die.net/man/3/ftell

相關問題