C语言fseek函数教程

C 语言给我们提供了 fseek

C语言fseek函数详解

语法

int fseek(FILE *fp, long offset, int origin);

参数

参数

描述

fp

文件指针。

offset

偏移量,也就是要移动的字节数。offset 为正时,向后移动;offset 为负时,向前移动。

origin

origin 为起始位置,也就是从何处开始计算偏移量。

origin参数

起始点

常量名

常量值

文件开头

SEEK_SET

0

当前位置

SEEK_CUR

1

文件末尾

SEEK_END

2

头文件

fseek 函数在 stdio.h 的头文件里面。

案例

使用fseek文件指针移动到开始

使用 fseek 函数,实现将文件指针移动到文件的开始

#include

#include

int main(){

printf("嗨客网(www.haicoder.net)\n\n");

FILE *fp = NULL;

char str[100];

if ( (fp = fopen("c:\\1.txt", "wt+")) == NULL )

{

puts("Open file failed\n");

return;

}

fputs("Hello HaiCoder\n", fp);

fputs("Hello C\n", fp);

puts("Write file success\n");

while (fgets(str, 100, fp) != NULL)

{

printf("Read line = %s", str);

}

fclose(fp);

return 0;

}

程序运行后,控制台输出如下:

我们首先,使用了

此时,我们看到,我们并没有读取到任何文件内容,这是因为,我们写入文件内容之后,文件指针已经移动到了文件末尾,因此,无法正确读取文件内容,现在,我们修改程序如下:

#include

#include

int main(){

printf("嗨客网(www.haicoder.net)\n\n");

FILE *fp = NULL;

char str[100];

if ( (fp = fopen("c:\\1.txt", "wt+")) == NULL )

{

puts("Open file failed\n");

return;

}

fputs("Hello HaiCoder\n", fp);

fputs("Hello C\n", fp);

puts("Write file success\n");

fseek(fp, 0, SEEK_SET);

while (fgets(str, 100, fp) != NULL)

{

printf("Read line = %s", str);

}

fclose(fp);

return 0;

}

程序运行后,控制台输出如下:

这次,我们在写入文件之后,使用了 fseek 函数,将文件指针再次移动到文件的开始,此时再次读取文件内容,我们发现,已经可以读取到文件内容了。

我们再次,使用 feek 函数,实现将文件指针移动到文件的 10 个字节开始的位置,修改代码如下:

#include

#include

int main()

{

printf("嗨客网(www.haicoder.net)\n\n");

FILE *fp = NULL;

char str[100];

if ( (fp = fopen("c:\\1.txt", "wt+")) == NULL )

{

puts("Open file failed\n");

return;

}

fputs("Hello HaiCoder\n", fp);

fputs("Hello C\n", fp);

puts("Write file success\n");

fseek(fp, 10, SEEK_SET);

while (fgets(str, 100, fp) != NULL)

{

printf("Read line = %s", str);

}

fclose(fp);

return 0;

}

程序运行后,控制台输出如下:

这次,我们在写入文件之后,使用了 fseek 函数,将文件指针移动到文件的开始 10 个字节的位置,此时再次读取文件内容,我们发现,读取的第一行文件的内容已经不全了。

C语言fseek函数总结

C 语言给我们提供了 fseek 函数,用来实现任意的移动文件指针,注意与 rewind 函数的区别,rewind 函数只能将文件指针移动到文件的开始。

c语言二fseek从文件头移动_C语言fseek函数相关推荐

  1. c语言二fseek从文件头移动_编程C语言文件的随机读写

    实现随机读写的关键是要按要求移动位置指针,这称为文件的定位. 文件定位 移动文件内部位置指针的函数主要有两个,即rewind()和fseek().rewind函数前面已多次使用过,其调用形式为:    ...

  2. python语言命名规则-一文轻松掌握python语言命名规范规则

    和C/C++.Java等语言一样,python在命名上也有一套约定俗成的规则,符合规范的命名可以让程序的可读性大大增加,从而使得代码的逻辑性增强,易于自己和其他协作者在以后的拓展中理解代码的意义,从而 ...

  3. C语言 二维数组定义和使用 - C语言零基础入门教程

    目录 一.二维数组简介 二.定义二维数组并初始化 1.定义二维数组 2.初始化二维数组 三.访问二维数组 四.修改二维数组 五.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 & ...

  4. c语言不会可以学好java吗_C语言一定要学好吗?

    编程语言其实是一个很初级的工具,但是你又必须熟练的掌握它,学懂一门编程语言就好像学会了写字,但是会写字的人不见得会写文章,而会写文章又不见的写得好.可是如果你不会写字,那就一定写不出文章来. 首先,在 ...

  5. 红外接收器c语言软件,红外线遥控解码接收程序_C语言.doc

    红外线遥控解码接收程序_C语言.doc (9页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 红外线遥控解码接收程序-C语言.txt铁饭碗 ...

  6. c语言怎么把一个整数挨挨挤挤,《C语言》课程PPT_第1章_C语言基础

    C语言基础 第一章 传褪猿度历霞司腺娠详躁代升乍圃刷烘诧藩东兹淮驹耿游竿郝芽祖续憨荫 C语言 课程PPT 第1章 C语言基础 C语言 课程PPT 第1章 C语言基础 2 本章目标 命令 程序以及软件之 ...

  7. c语言学习宝典老版,C语言学习宝典APP最新版下载_C语言学习宝典APP官方版5.6.7下载_QQ下载站...

    C语言学习宝典APP简介 C语言学习宝典是一款网上学习APP,这儿包括了C语言学习培训各环节专业知识,给你轻轻松松该把握C语言的关键专业知识,提升自己的工作能力,出示来C语言基本知识,让学员从入门学习 ...

  8. c语言手机通讯系统报告书,定稿毕业论文_C语言_手机通讯录管理系统设计最终定稿(范文1)...

    <毕业论文:C语言_手机通讯录管理系统设计.doc>由会员分享,可免费在线阅读全文,更多与<(定稿)毕业论文_C语言_手机通讯录管理系统设计(最终定稿)>相关文档资源请在帮帮文 ...

  9. R 语言怎么保存工作目录到当前路径_C语言探索之旅 | 第二部分第七课:文件读写...

    内容简介 前言 文件的打开和关闭 读写文件的不同方法 在文件中移动 文件的重命名和删除 第二部分第八课预告 1. 前言 上一课 C语言探索之旅 | 第二部分第六课:创建你自己的变量类型 之后,我们来学 ...

  10. c语言编程基础课件,第7章_C语言图形编程基础课件

    第7章_C语言图形编程基础课件 狭义的组织变革是指组织根据外部环境的变化和内部情况的变化及时地改变自己的内在组织结构,以适应客观发展的需要. 狭义的组织变革是指组织根据外部环境的变化和内部情况的变化及 ...

最新文章

  1. cv2.threshold() 阈值:使用Python,OpenCV进行简单的图像分割
  2. ViewPager实现翻页步骤
  3. 在AI Studio创建课程 : 2021 ANN课程
  4. 2012年河南省普通高校招生本科一批院校 平行投档分数线(理科)
  5. 计算机之间是如何实现通信的?—Vecloud微云
  6. [Android Pro] 终极组件化框架项目方案详解
  7. jquery验证表单很简单的方法
  8. 贪吃蛇代码c 语言,刚学C语言,想写一个贪吃蛇的代码
  9. 《统计学习方法》的Python 3.6复现,实测可用
  10. 开始使用 TypeScript
  11. Codeforces 463D Gargari and Permutations(求k个序列的LCS)
  12. 硬货专栏 |WebRTC SDP 详解和剖析
  13. 利用阿里云ECS制作个人简历网站
  14. 超全面的前端切图技巧,读这篇就够了
  15. excel打不开_excel表格打不开怎么办?excel表格打不开的解决方法
  16. 软件开发模型/原型法/瀑布模型/螺旋模型
  17. 【^ 亦或运算符】 实现【变量值交换】和 【数组反转】
  18. 【设计一个抽象的形状类Shape,方法:求周长和求面积】
  19. office2007下载包
  20. 一名优秀的嵌入式软件工程师所具备知识技能

热门文章

  1. 编译原理研究性学习专题 2——递归下降语法分析设计原理与实现
  2. 好看兼好用的编程专用字体
  3. 小米发布了10款可以免费商用的字体MiSans字体(含下载地址)
  4. word 方框中插入对号、错号符号
  5. utc时间 单位换算_utc时间(utc时间转换北京时间)
  6. 浅谈人机工程应用在数字化工艺中的作用
  7. 【渝粤题库】国家开放大学2021春4990电子商务概论(农)题目
  8. 以太网和令牌环网的区别
  9. sqlserver中能用when_sqlserver中casewhen用法小结
  10. 开源加速器Gemmini代码解析(一):脉动阵列