对于c语言fseek函数在大一题库中有这样一道题:fseek(fp,100L,2)

int fseek( FILE *stream, long offset, int origin );
第一个参数stream为文件指针
第二个参数offset为偏移量,整数表示正向偏移,负数表示负向偏移
第三个参数origin设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_END 或 SEEK_SET
SEEK_SET: 文件开头
SEEK_CUR: 当前位置
SEEK_END: 文件结尾
其中SEEK_SET,SEEK_CUR和SEEK_END和依次为0,1和2.
简言之:
fseek(fp,100L,0);把fp指针移动到离文件开头100字节处;
fseek(fp,100L,1);把fp指针移动到离文件当前位置100字节处;
fseek(fp,100L,2);把fp指针退回到离文件结尾100字节处。

具体实例如下

#include <stdio.h>
#define N 5
typedef struct student {  long sno;  char name[10];  float score[3];
} STU;
void fun(char *filename, STU n)
{  FILE *fp;  fp = fopen(filename, "rb+");  fseek(fp, -1L*sizeof(STU),SEEK_END);
fwrite(&n, sizeof(STU), 1, fp);
fclose(fp);
}
void main()
{  STU t[N]={ {10001,"MaChao", 91, 92, 77}, {10002,"CaoKai", 75, 60, 88},  {10003,"LiSi", 85, 70, 78}, {10004,"FangFang", 90, 82, 87},  {10005,"ZhangSan", 95, 80, 88}};  STU n={10006,"ZhaoSi", 55, 70, 68}, ss[N];  int i,j; FILE *fp;  fp = fopen("student.dat", "wb");  fwrite(t, sizeof(STU), N, fp);  fclose(fp);  fp = fopen("student.dat", "rb");  fread(ss, sizeof(STU), N, fp);  fclose(fp);  printf("\nThe original data :\n\n");  for (j=0; j<N; j++)  {  printf("\nNo: %ld Name: %-8s Scores: ",ss[j].sno, ss[j].name);  for (i=0; i<3; i++)
[cpp] view plain copyprintf("%6.2f ", ss[j].score[i]);  printf("\n");
}
fun("student.dat", n);
printf("\nThe data after modifing :\n\n");
fp = fopen("student.dat", "rb");
fread(ss, sizeof(STU), N, fp);
fclose(fp);
for (j=0; j<N; j++)
{  printf("\nNo: %ld Name: %-8s Scores: ",ss[j].sno, ss[j].name);  for (i=0; i<3; i++)
[cpp] view plain copyprintf("%6.2f ", ss[j].score[i]);  printf("\n");
}  

fseek函数的用法相关推荐

  1. fseek函数的用法(用于设定指针位置)

    fseek函数用来设置文件指针stream的位置,原型为: int fseek(FILE *stream, long offset, int fromwhere); 下面先对fseek有一个初步的认识 ...

  2. c语言fseek128字节,C语言rewind和fseek函数的用法详解(随机读写文件)

    前面介绍的文件读写函数都是顺序读写,即读写文件只能从头开始,依次读写各个数据.但在实际开发中经常需要读写文件的中间部分,要解决这个问题,就得先移动文件内部的位置指针,再进行读写.这种读写方式称为随机读 ...

  3. C语言rewind函数返回值为空,C语言rewind和fseek函数的用法详解(随机读写文件)...

    前面介绍的文件读写函数都是顺序读写,即读写文件只能从头开始,依次读写各个数据.但在实际开发中经常需要读写文件的中间部分,要解决这个问题,就得先移动文件内部的位置指针,再进行读写.这种读写方式称为随机读 ...

  4. python rewind_C语言rewind和fseek函数的用法详解(随机读写文件)

    前面介绍的文件读写函数都是顺序读写,即读写文件只能从头开始,依次读写各个数据.但在实际开发中经常需要读写文件的中间部分,要解决这个问题,就得先移动文件内部的位置指针,再进行读写.这种读写方式称为随机读 ...

  5. fseek()函数的用法及其理解

    函数的原型,即使用方法: int fseek(FILE *stream, long offset, int fromwhere); 功 能: 重定位流上的文件指针 描 述: 函数设置文件指针strea ...

  6. C语言fseek()函数(whence)重新定位文件指针位置

    C 标准库 - <stdio.h> 描述 C 库函数 int fseek(FILE *stream, long int offset, int whence) 设置流 stream 的文件 ...

  7. java+fseek+函数_函数fseek() 用法(转)

    在阅读代码时,遇到了很早之前用过的fseek(),很久没有用了,有点陌生,写出来以便下次查阅. 函数功能是把文件指针指向文件的开头,需要包含头文件stdio.h fseek 函数名: fseek 功 ...

  8. linux rewind函数,fseek(),ftell()和rewind()函数的用法详解

    转自:http://blog.csdn.net/lijun5635/article/details/14210181 功 能 重定位流( 数据流/文件)上的 文件内部位置 指针 注意:不是 定位文件指 ...

  9. linux fseek函数用法详解

    1.功 能 重定位流( 数据流/文件)上的 文件内部位置 指针 注意:不是 定位文件指针,文件指针指向文件/流.位置 指针指向文件内部的字节位置,随着文件的读取会移动, 文件指针如果不重新赋值将不会改 ...

  10. C语言“fread”函数的用法?

    C语言"fread"函数的用法为"size_tf read(void *buffer,size_t size,size_t count,FILE *stream)&quo ...

最新文章

  1. 机器学习:论相关(一)
  2. 虚拟现实大会ChinaVR2015报告之-电子试衣和三维人体建模
  3. maya python 弹出窗口_maya python打印状态复选框?
  4. ​再见 Seaborn!Altair 数据可视化已超神
  5. C#多线程和异步(二)——Task和async/await详解
  6. Ignite与Spark内存计算平台对比分析
  7. 联想计算机拆机,一拆到底~联想昭阳E46L彻底拆解,163P!
  8. 安卓TV开发《1》TV入门
  9. 移动端日历插件_好用的记事日历本桌面日历
  10. 小程序轮播图 swiper当前滑块容器样式
  11. flutter 语音转文字(科大讯飞)
  12. 微博android升级7.000,华为 Android 7.0 升级计划曝光:G9 青春版 /Nova 也有份
  13. SpringBoot知识点整理
  14. access随系统启动的宏_Access 中启动带宏的excel
  15. [08.30][美国][喜剧][怪物史莱克3][DVD-R/365M][中字][07最新票房大片DVD版]
  16. 深度学习——NLP中词的表示方法word embeddingword2vec
  17. Spark快速大数据分析——Scala语言基础(壹)
  18. mvn将本地jar文件导入本地maven库中
  19. 学员面试vivo手机软件测试职位试题
  20. 使用MFC修改注册表DWORD类型的值

热门文章

  1. 【算法基础三】算法如何入门?零基础入门算法应该学些什么?
  2. python读取txt文件
  3. 应用化工技术学计算机不,化工技术类包括哪些专业
  4. 计算机网络学习日记——网络层
  5. 计算机机械和设计专业介绍,机械类包括哪些专业
  6. 源码分享—《Java多线程编程核心技术》源码,Java多线程编程核心技术源码 略微有改动。
  7. Altium Designer 2020 学习笔记(四)------PCB布线、DRC检查、拼版设计、资料输出(配动态图操作演示)
  8. 获取金山词霸2007注册码
  9. java单循环赛制程序_单循环比赛的固定轮转编排法与贝格尔编排法
  10. 学生DW网页设计作业成品——电商购物网站设计(55页) 电商网页设计制作 简单静态HTML网页作品 购物网页作业成品 学生商城网站模板