我想在文件中保存一個位置,然後將文件指針恢復到保存的位置。在C中執行以下操作的方法是什麼?
FILE *save = fp;
//perform operations on file fp...
..
..
//restore to previously saved location
fp = save;
我試過上面的方法,但它不起作用。
我想在文件中保存一個位置,然後將文件指針恢復到保存的位置。在C中執行以下操作的方法是什麼?
FILE *save = fp;
//perform operations on file fp...
..
..
//restore to previously saved location
fp = save;
我試過上面的方法,但它不起作用。
有關ftell
和fseek
函數的信息,請參見this page。這些將允許您分別檢索和設置文件指針的位置。
long int originalPos = ftell(fp);
// do stuff with file
fseek(fp, originalPos, SEEK_SET);
創建2個fp變量?使用你沒有執行的操作來恢復?
我想你要尋找的是fseek
和ftell
。 long int pos = ftell(fp);
獲取當前位置,並fseek(fp, pos, SEEK_SET);
返回到該點。
兩個'save'和'fp'指向同一個位置,這是爲什麼。嘗試使用兩個'FILE'指針。 –
除了'fseek()'和'ftell()'外,還有'fgetpos()'和'fsetpos()'。 –