在C中执行以下操作的方法是什么?

时间:2012-11-12 06:29:07

标签: c file pointers

我想在文件中保存一个位置,然后将文件指针恢复到保存的位置。

 FILE *save = fp;

//perform operations on file fp...  

..
..

//restore to previously saved location

fp = save;  

我尝试了上述方法,但它不起作用。

3 个答案:

答案 0 :(得分:5)

有关ftellfseek功能的信息,请参阅this page。这些将允许您分别检索和设置文件指针的位置。

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

答案 1 :(得分:0)

创建2个fp变量?使用未执行操作的那个来恢复?

答案 2 :(得分:0)

我认为您要找的是fseekftelllong int pos = ftell(fp);获取当前位置,fseek(fp, pos, SEEK_SET);返回到该位置。

相关手册页:http://linux.die.net/man/3/ftell