相关博文:C语言之文件读写探究(一):fopen、fclose(文件的打开和关闭)
相关博文:C语言之文件读写探究(二):fputc、fgetc、feof(一次读写一个字符(文本操作))
相关博文:C语言之文件读写探究(三):fputs、fgets、feof(一次读写一行字符(文本操作))
相关博文:C语言之文件读写探究(四):fwrite、fread(一次读写一块数据(二进制操作))
相关博文:C语言之文件读写探究(五):rewind、ftell、fseek(文件指针偏移)
相关博文:C语言之文件读写探究(六):fscanf、fprintf(格式化读写文件)
相关博文:C语言之文件读写探究(七):随机读写文件
相关博文:C语言之文件读写探究(五):rewind、ftell、fseek(文件指针偏移)

例1:

使用rewind函数可以将位置指示器移动到文件的开头位置:

附例1代码:

//小问学编程
#include <stdio.h>
#include <stdlib.h>int main(void)
{FILE *fp;if ((fp = fopen("hello.txt", "w")) == NULL){printf("文件打开失败!\n");exit(EXIT_FAILURE);}printf("%ld\n", ftell(fp));fputc('F', fp);printf("%ld\n", ftell(fp));fputs("ishC\n", fp);printf("%ld\n", ftell(fp));rewind(fp);fputs("Hello", fp);fclose(fp);return 0;
}

例2:下面程序要求录入学生的姓名、学号和成绩到指定的文件中,然后读取其中的第二条数据并打印到屏幕上:

sorce.txt:

  使用fseek函数需要考虑程序的可移植性问题,之前我们讨论过fopen函数使用文本模式和二进制模式打开文件的主要区别在于对换行符(’\n’)的处理上。比如,在Windows系统中,换行符是以’\r’和’\n’两个字符的形式存放,这就导致了在定位上将出现一些误差。因此,如果想要编写可移植的代码,就需要考虑以下问题。
  (1)对于二进制模式打开的文件,fseek函数在某些操作系统中可能不支持SEEK_END位置。
  (2)对于文本模式打开的文件,fseek函数的whence参数只有取SEEK_SET才是有意义的,并且传递给offset参数的值要么是0,要么是上一次对同一个文件调用ftell函数获得的返回值。

C语言之文件读写探究(七):随机读写文件相关推荐

  1. C++之文件操作探究(四):读文件——二进制文件

    相关博文:C++之文件操作探究(一):写文件--文本文件 相关博文:C++之文件操作探究(二):读文件--文本文件 相关博文:C++之文件操作探究(三):写文件--二进制文件 相关博文:C++之文件操 ...

  2. C++之文件操作探究(三):写文件——二进制文件

    相关博文:C++之文件操作探究(一):写文件--文本文件 相关博文:C++之文件操作探究(二):读文件--文本文件 相关博文:C++之文件操作探究(三):写文件--二进制文件 相关博文:C++之文件操 ...

  3. C++之文件操作探究(一):写文件——文本文件

    相关博文:C++之文件操作探究(一):写文件--文本文件 相关博文:C++之文件操作探究(二):读文件--文本文件 相关博文:C++之文件操作探究(三):写文件--二进制文件 相关博文:C++之文件操 ...

  4. MySQL顺序读写和随机读写磁盘_随机读写与顺序读写的深入理解

    随机读写与顺序读写的深入理解 分类:数据恢复常见问题|最后更新:2018年11月6日 关于磁盘的读写性能曾经一直是我头疼的地方,涉及研发或者测试时不清楚过程导致结果不尽人意.一起认识下关于磁盘的读写原 ...

  5. C++之文件操作探究(二):读文件——文本文件

    相关博文:C++之文件操作探究(一):写文件--文本文件 相关博文:C++之文件操作探究(二):读文件--文本文件 相关博文:C++之文件操作探究(三):写文件--二进制文件 相关博文:C++之文件操 ...

  6. 嵩天-Python语言程序设计程序题--第七周:文件和数据格式化

    前言:嵩天老师的<Python语言程序设计课程>被评为国家精品课程,在幕课上累计超过11万学员,里面的习题对初学者入门Python,提高编程实战能力很有帮助.因此,我想把自己学习这门课程作 ...

  7. python操作文件夹-Python文件操作大全,随机删除文件夹内的任意文件

    在读文件的时候往往需要遍历文件夹,python的os.path包含了很多文件.文件夹操作的方法: os.path.abspath(path) #返回绝对路径 os.path.basename(path ...

  8. python 删除文件夹_Python文件操作大全,随机删除文件夹内的任意文件

    在读文件的时候往往需要遍历文件夹,python的os.path包含了很多文件.文件夹操作的方法: os.path.abspath(path) #返回绝对路径 os.path.basename(path ...

  9. php文件上传七牛云,PHP 文件上传七牛云

    PHP 之Laravel 使用qiniu/php-sdk, itbdw/laravel-storage-qiniu, 组件上传文件到七牛云. 一.  序言 这几天在laravel 框架上使用qiniu ...

最新文章

  1. findcontours函数_opencv轮廓findContoursamp;drawContours
  2. 自动发布工具应该具备的11个标准特征
  3. 【小程序踩坑系列5】小程序内多重调用原生promise,无返回,无报错,代码卡住...
  4. java初学者指南_企业Java中事务隔离级别的初学者指南
  5. java获取请求的url地址
  6. RocketMQ 顺序消费只消费一次 坑
  7. 万兆网卡驱动_家庭基础万兆网络——最简单的方案
  8. 数据结构 判断数组元素是否互不相同
  9. __proto__VS。 JavaScript原型
  10. 基于stm32和富斯遥控器的SBUS波形分析和通讯实现
  11. 华硕服务器主板型号命名规则,华硕ROG系列主板命名规则详解_华硕 Maximus V Formula_主板评测-中关村在线...
  12. 学习QT一周做的小游戏-钢琴块
  13. 「 C/C++疑难杂症 」warning: ISO C++ forbids converting a string constant to ‘CHAR*’ {aka ‘char*’} [-Wwrite
  14. tensor.view().permute()
  15. 珍藏的Android电子书
  16. 由乌龟画一个正方形所想到的
  17. K-D Tree 算法详解及Python实现
  18. how to send email by jmail?
  19. 加拿大c# 虚拟主机_21加拿大人将在Twitter上关注#CanadaDay
  20. IDEA 【强制推送】(Force Push)为灰色不能点击 解决办法

热门文章

  1. 搜狐畅游笔试题:1. 美丽的项链(动态规划) 2.多线程并发交替输出
  2. OpenStack 云计算基础知识
  3. php 判断字符串中是否包含另一个字符串 strpos
  4. BZOJ4428 : [Nwerc2015]Debugging调试
  5. sharepoint2013用场管理员进行文档库的爬网提示没有权限,拒绝的解决方法
  6. ORACLE计算表引占用空间大小
  7. android求助:关于播放器中的“播放/暂停”键: 用ImageButton来设置点击效果时的问题...
  8. TWaver HTML5 + Node.js + express + socket.io + redis(五)
  9. Java面向对象之object类自带的方法解析(equals与==、toString方法、instanceof方法、参数传递问题)
  10. php字符串分割汉字,php支持中文字符串分割的函数