繁体   English   中英

如何在文件上使用SEEK_CUR *

[英]How to use SEEK_CUR on a FILE*

offset=ftell(ptr)-sizeof(student1);
fseek(ptr,offset,SEEK_SET);
fwrite(&student1,sizeof(student1),1,ptr);

该C代码意味着将指针从当前位置ftell(ptr)到刚刚读取的结构块的开始。 我对吗?

如果我是对的,我可以使用SEEK_CUR而不是SEEK_SET返回文件中结构块的开头吗?

请告诉我如何使用SEEK_CUR并向后开始结构块。

我是编程的新手。 所以请帮助我。

编辑:谢谢你的回答。 我要做的是搜索关键字(学生的卷号)并更新该学生的信息(姓名,地址,......)。 更新的数据将成功替换以前的数据。 请让我再问一个问题。 有没有办法将新数据插入上一个数据之上,而不是用旧数据替换它?

该C代码意味着将指针从当前位置[ftell(ptr)]移动到刚刚读取的结构块的开始。 我对吗?

我认同。

请告诉我如何使用SEEK_CUR并向后开始结构块。

您可以使用负偏移量。

#include <stdio.h>

fseek (ptr, -sizeof student1, SEEK_CUR);

无论如何,你应该避免这些电话; 它可能会很慢。 使用相当顺序的阅读。

尝试:

fseek(ptr, -sizeof(student1), SEEK_CUR);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM