磁盘文件读写程序设计

合集下载

基于磁盘性能的应用程序存储设计

基于磁盘性能的应用程序存储设计
的缓 冲 区 , 到读 写头 , 后 由读 写 头 写 到 盘 面 上 。由此 可 见 , 再 最
o 请 求 到 底 层 操 作 系统 ,由操 作 系统 来 完 成 在 存 储 设 备 上 的 பைடு நூலகம்读 写 操 作 。其 IO 操作 对 应 数 据读 写 的 过 程 ,流程 如 图 1所 /
示。
考 虑 存储 设计 问题 , 是 十 分 简 单 的 , 为 目前 单 块 磁盘 的容 将 因
量 大 小 几 乎 都 能 满 足一 般 应 用 的 需 要 。但 如 果 考 虑 磁 盘 的性 能 因 素 .由于 应 用 程 序 的 IO 大 小 及 产 生 的 IO 数 量 与 磁 盘 / / 性 能 有 着 直接 的 关 系 , 此 , 进 行 应 用 程 序 的 存 储 需 求 分 析 因 在 时 。必须 综 合 考虑 应 用 程 序 的 容 量 需 求 和 磁 盘 性 能 这 二 个 因
1引言
应 用 程 序 的存 储 需 求分 析 ,一 般 都 是 从 确 定存 储 容 量 着 手 的 , 存 储 容 量 的 大 小 不 仅 与 应 用 程 序 本 身 有 关 , 还 取 决 而 这
于磁 盘 的物 理 特 性 。仅 从 满 足 应 用 程 序 存 储 容 量 需 求 的 角度

图 1数 据 读 写 过 程 在 读 数 据 时 , 据 首 先从 盘 面 移 到 读 写 头 , 读 到 磁 盘 内 数 再 部 的缓 冲 区 ,最 后 通 过 接 口 经 HB 传 给 CP ;在 写 入 数 据 A U
时 , 刚 好 相 反 , 据 首 先 通 过 接 口从 IB 传 输 到 磁 盘 内 部 则 数 - A I
De i n o p i a i n t r g s d o s e f r a c sg n Ap l to sS o a e Ba e n Dik P r o m n e c

C语言程序设计第四版PPT-谭浩强

C语言程序设计第四版PPT-谭浩强

文件f2的 文件信息区
文件f3的 文件信息区
文件的基本知识——文件的操作 写文件:打开-写-关闭 读文件:打开-读-关闭
文件的打开
功能:为文件建立相应的信息区(存放 文件信息)和文件缓冲区(暂时存放输入 输出的数据) 函数: fopen(文件名,使用文件方式); 例: fopen("a1.dat","r");
第10章 文件
本章内容
10.1 文件的基本知识 10.2 打开与关闭文件 10.3 顺序读写数据文件 10.4 随机读写数据文件 10.5 文件读写的出错检测
文件的基本知识——输入输出
之前各章中处理的数据 ➢输入:键盘->内存 ➢输出:内存->显示器 实际上也可能是 ➢输入:外部设备->内存(读文件) ➢输出:内存->外部设备(写文件) 操作系统把各种设备都统一作为文件处理
文件
顺序文件的读写——读写字符串
例10.3 从键盘输入3个字符串,排序,把排
序后的字符串写入文件(P.342-343) 读上面写好的文件(P.344)
顺序文件的读写——格式化读写
fprintf(文件指针,格式字符串,输出表列); fscanf (文件指针,格式字符串,输入表列);
例: fprintf (fp,"%d,%6.2f",i,f); fscanf (fp,"%d,%f",&i,&f);
用文件扩展名”
文件的基本知识——流式文件
C语言把文件看作是字符(或字 节)的序列。
文件以“流”的形式在程序与操 作系统间流动。
文件的基本知识——数据的形式
根据数据的组织形式,数据文件可分为 ASCII文件:数据逐个字符的ASCII码 输出到外存,也称文本文件 二进制文件:内存中二进制形式的数据 直接输出到外存

windows程序设计6

windows程序设计6

•读取文件
BOOL ReadFile( HANDLE hFile, // 文件指针 LPVOID lpBuffer, // 数据缓冲 DWORD nNumberOfBytesToRead, // 读取的字节数
LPDWORD lpNumberOfBytesRead, // 接收要读取的字节数 LPOVERLAPPED lpOverlapped // 覆盖缓冲 );
hFile:是指向要打开文件的指针。
•读取文件 lpBuffer:是接收来自文件数据缓冲区的指针。
nNumberOfBytesToRead:指从文件中读取的字节数。 lpNumberOfBytesRead:用于接收要读取的字节数。 lpOverlapped:是指向OVERLAPPED结构的指针,如 果hFile所指的文件是用FILE_FLAG_OVERLAPPED 创 建的,则需要用到此结构。如果用 FILE_FLAG_ OVERLAPPED创建hFile,而且lpOverlapped不为 NULL,则读取操作从OVERLAPPED结构所指的偏移 量位置处开始,函数ReadFile可能在完成读取操作之前 返回。如果未用FILE_FLAG_OVERLAPPED创建hFile, 而且lpOverlapped不为NULL,则函数ReadFile在完成读 取前不会返回。
含 义 文件是存档类型,可用于备份或删除 文件或目录是加密的。如果指定属性有FILE_ ATTRIBUTE_SYSTEM ,那么此标志没有作用 文件是隐藏的 文件没有属性,此标志只有在单独使用时才有效 文件是只读属性
FILE_ATTRIBUTE_SYSTEM
文件为系统文件
hTemplateFile:用于存取模板文件的句柄。模板文件为正在创建的文件提供扩展属性。

《C语言程序设计》课程标准

《C语言程序设计》课程标准

《C语言程序设计》课程标准一、课程性质该课程是人工智能技术应用专业的专业基础课程,目标是让学生全面了解程序设计的总体思路、程序设计的基本算法、结构化程序设计的方法,具有初步的程序设计和程序调试的能力。

它要以《计算机应用基础》课程的学习为基础,也是进一步学习《Python高级编程》、《嵌入式技术应用》《机器学习基础》等课程的基础。

二、课程设计思路本课程主要针对软件程序员、软件测试员等岗位开设。

通过本课程的学习,能够熟练掌握C语言的语法规则以及使用C语言进行结构化程序设计的方法与编程技巧,具备独立完成完整C语言项目的基本技能和专业技能,具备基本的职业能力,并使岗位适应能力与操作技能达到软件开发上岗标准。

本课程的开设还为学习《Python高级编程》、《嵌入式技术应用》《机器学习基础》等后续课程奠定基础。

三、课程目标(一)总体目标通过本课程的学习,使学生掌握C语言程序设计的基础知识和基本技能,树立结构化程序设计的基本思想,养成良好的编程习惯,具备软件开发的基本能力。

同时培养学生良好的分析问题和解决问题的能力及爱岗敬业、严谨细致、探究务实的职业精神和技术意识,为后续的应用性课程和系统开发课程打好软件基础。

(二)具体目标1.专业能力(1)对计算机语言和结构化程序设计有基本的认识;(2)能够熟练应用TC或VC++集成环境设计和调试C语言程序;(3)能够在程序设计过程中熟练运用C语言数据类型、运算符、基本语句、数组、函数、编译预处理命令等基本知识;(4)能够熟练掌握指针、结构体、文件等基本知识;(5)会运用C语言设计解决实际问题的程序,并能完成程序的测试。

2.方法能力(1)培养良好的接受新技术、新应用的能力;(2)培养良好的需求理解能力;(3)培养模块化思维能力;(4)培养良好的学习和总结的能力。

3.社会能力(1)培养良好的团队精神和协作能力。

(2)培养学生认真负责的工作态度和严谨细致的工作作风。

四、课程内容组织与安排本课程以国内外最新程序设计基础课程的教学大纲为参照,以软件开发职业岗位为起点,以实际应用为目标,设计了10个学习子项目。

《操作系统》课程设计说明书

《操作系统》课程设计说明书

河南城建学院《操作系统》课程设计说明书设计题目:UNIX/Linux文件系统分析专业:计算机科学与技术指导教师:邵国金耿永军陈红军班级:0614082学号:061408261姓名:贠炳森同组人:叶矿辉、陈宇计算机科学与工程系2011年1月7日前言在现在计算机更新如此迅速的时代要学好计算机软件技术,特别是操作系统的学习,不仅要努力学好课本上的基础知识,还要经常在图书馆看些有关这方面的书籍,而更重要的是要有足够的实践经验,也要注重和同学的交流,经常尝试性的做些小的操作系统,对自己技术的提升会有很大的帮助。

同时,学习计算机操作系统技术,除了需要刻苦努力外,还需要掌握软件和操作系统的原理与设计技巧。

如何学习和掌握操作系统技术的原理与实际技巧呢?除了听课和读书之外,最好的方法恐怕就是在实践中练习。

例如,自己设计一个小型操作系统,多使用操作系统,多阅读和分析操作源代码等。

但由于我们的条件和学时有限,在理论学习过程中没有给同学们提供更多的实验机会。

本操作系统课程设计,是给同学提供一个集中实验的机会。

希望同学们通过该设计加深对所学习课程的理解。

本设计是基于课程中学到的UNIX系统调用,使用操作系统环境是Red Hat Linux 9,言语开发环境是Linux的GNU C或C++。

我做的课程设计是:Linux/Unix文件系统分析。

在Linux系统下,使用与文件相关的系统调用实现对物理设备文件的读写,参照Linux系统源代码以及Grub 系统的源代码,对不同介质上的FAT格式文件系统进行分析。

要求在Linux环境下设计出C语言程序,实现以下功能:1)分析UNIX SysV/Linux系统引导记录的作用;2)分析UNIX SysV/Linux的超级块及其结构,并建立相关数据结构,通过编程实现UNIX SysV/Linux文件系统内各部分的定位。

3)至少要实现对给定i节点文件的只读访问目录一.系统环境 (3)1.1硬件环境 (3)1.2软件环境 (3)二.设计目的及要求 (3)三.总体设计 (5)四.详细设计 (6)五.调试与测试 (6)六.设计中遇到的问题及解决方法 (6)七.Linux/Unix文件系统分析源程序清单 (7)7.1 头文件 (7)7.2 示例程序 (10)八.运行结果及分析 (16)8.1 linux文件系统读取 (16)8.2 UNIX文件系统读取 (18)九.心得体会 (19)十.参考文献 (20)Linux/Unix文件系统分析一.系统环境1.1硬件环境cpu为pentium4双线程技术,频率为2.8GHZ,内存为256MB。

FAT文件系统读写程序

FAT文件系统读写程序

经过一个多月的努力,终于完成了fat文件系统的读写函数。

期间由于过年,杂事较多,所以一再推迟。

起初是模仿zlgfs,但当写到一半时觉得这样构架很难写。

于是又返工,重新设计,十分郁闷。

到最后从中能找到zlgfs影子的地方也就是几个结构体而已。

虽然也有缓冲区,但其算法已经是比zlgfs复杂很多,是参考linux的缓冲区算法的,查找使用的是一个双向循环链表和一个hash表,弄了好久才把主要的bug除掉。

总之,主要就是实现了在fat16文件系统中的多级目录,及文件目录的读写,创建。

最后还写了一个文本文件的读写和bmp图片的读写,结合我以前在这个开发板上做的gui,实现了触摸屏显示24位bmp图片的功能。

我测试时,只要在sd卡上存储上24位bmp图片就可以在lcd上显示,十分方便。

其中包含fat文件系统读写程序在EasyFS目录中,此源代码是ads1.2工程,是在fs2410开发板上的。

点击此处下载ourdev_418380.rar(文件大小:3.75M)(原文件名:EasySystem_2. rar)点击此处下载 ourdev_612887.rar(文件大小:3.75M) (原文件名:EasySystem_2. rar)(原文件名:ourdev_596204.JPG)引用图片(原文件名:1--磁盘信息.jpg)这是在添加文件系统的磁盘驱动程序时在串口中打印的磁盘信息。

(原文件名:ourdev_612928.jpg)引用图片(原文件名:2.jpg)这是测试文件显示和创建,先在串口中打印文件"11111\\maomaob.txt",然后创建文件"mao\\shuang\\pei\\chengmao.txt",并向其中写入"mao mao cheng pe i"(原文件名:ourdev_612929.jpg)引用图片(原文件名:2--创建一个文本文件.jpg)(原文件名:ourdev_612930.jpg)引用图片(原文件名:3.jpg)这个上面的图标也是在存储在sd卡中的,其中左边和黑白条纹就是使用下面的这段代码创建的bmp图片。

操作系统课程设计项目参考

操作系统课程设计项目参考

滴加碘液后
滴加碘液前
12/12/2021
第十二页,共二十三页。
消化(xiāohuà):在消化道内将食物分解成可吸收 (xīshōu)的成分的过程
(包括物理性消化和化学性消化)
吸收(xīshōu):营养物质通过消化道壁进入循环 系统的过程
12/12/2021
第十三页,共二十三页。
消化(xiāohuà)和吸收的过程
12/12/2021
第十九页,共二十三页。
练习(liànxí)
• 2、分析数据,指出(zhǐ chū)哪一部分消化道中消化液最多。
• 在每天摄入800克食物和1200毫升水的情况下, 消化腺大致分泌以下数量消化液。 1500毫升唾液 2000毫升胃液 1500毫升肠液 500毫升胆汁 1500毫升胰液
12/12/2021
第二十二页,共二十三页。
内容 总结 (nèiróng)
第二节。食物中的营养物质是在消化系统中被消化和吸收的。这粒西瓜籽在姗姗的消化道内, 经过了难忘的时光。它先遇到像轧钢机似的上、下尖硬的怪物,差点儿将它压得粉身碎骨。后来它
No 钻进了一条(yī tiáo)又长又窄的迷宫,它在这里走了很久,身边的许多物质都神秘地消失了。走出迷
唾液腺、胃腺(wèixiàn)、肝脏、胰腺、肠腺
1、淀粉在__口__腔__开始消化、蛋白质在____开始胃消化、脂肪在_______开始 消小化肠。
2、胆汁是一种消化液,但不含消化酶,起乳化脂肪的作用。
二、人体消化、吸收的主要器官—— _____小肠 能 训 练解
胰脏:分泌(fēnmì)胰液 肠腺:分泌肠液
肝脏:最大的腺体,分泌胆汁。 胆汁无消化酶,有乳化脂肪 的
作用。
第七页,共二十三页。

简述hdfs的读写文件流程

简述hdfs的读写文件流程

简述hdfs的读写文件流程Hadoop分布式文件系统(HDFS)是一种可靠的、高效的分布式文件系统,用于存储和处理大规模数据。

它的设计目标是能够在一组廉价的硬件上提供高吞吐量的数据访问。

HDFS的读写文件流程可以分为以下几个步骤:1.客户端发送写操作请求:用户通过Hadoop的客户端应用程序向HDFS发送写操作请求。

写操作请求包括目标文件的路径、内容和写操作的类型(如追加、创建或覆盖)等信息。

2. NameNode接收写操作请求:HDFS的NameNode是HDFS的主服务器。

它接收到客户端的写请求后,首先会检查目标文件是否存在,如果不存在则创建一个新的文件。

然后,它会确定哪些数据节点(DataNode)负责存储该文件的数据块,并将这些信息返回给客户端。

3. 客户端与DataNode建立连接:客户端获取到存储目标文件数据块的DataNode的信息后,会与这些DataNode建立连接,并开始向它们发送数据。

4.客户端将数据分割成数据块:在写入数据之前,客户端会将数据分割成多个数据块。

每个数据块的大小通常为默认配置的128MB(可调整)。

5. 客户端与DataNode进行数据传输:从第一个数据块开始,客户端会选择一个DataNode,并将该数据块的一部分数据发送给该DataNode。

DataNode接收到数据后,会进行一次确认,确认接收到的数据是正确的。

6. DataNode接收到所有数据块:客户端会不断发送数据块给DataNode,直到所有数据块都被写入。

7. DataNode写入数据:当DataNode接收到数据块后,它会将数据写入本地的磁盘中,并返回写入的结果给客户端。

8. 客户端向NameNode发送关闭文件请求:当数据块都被写入后,客户端会向NameNode发送一个关闭文件的请求。

NameNode会更新文件的元数据信息,如文件大小,访问时间,修改时间等。

9.客户端文件提交:客户端会提交文件,将文件的元数据信息写入NameNode的持久化存储中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学 号课 程 设 计2014 年1 月 14 日题 目 磁盘文件读写程序设计学 院 自动化 专 业 自动化 班级 1102 姓 名 指导教师张丹红课程设计任务书学生姓名:专业班级:自动化1102指导教师:张丹红工作单位:自动化学院题目:磁盘文件读写程序设计初始条件:带有编辑器、汇编程序、连接程序和调试程序的电脑一台。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)采用汇编语言设计一个读写磁盘文件的程序。

建立一个文件,向文件中写入32个字节内容并读出,操作成功后显示提示OK,按Q退出程序。

(1)设计任务及要求分析(2)方案比较及认证说明(3)系统原理阐述(4)软件设计课题需要说明:软件思想,流程图,源程序及程序注释(5)调试记录及结果分析(6)总结(7)参考资料(8)附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图时间安排:1月6 日~1月8日:收集资料,方案选择1月9 日~1月12日:整体设计,程序编写1月13日~1月16日:调试程序,报告撰写1月17日:交设计报告,程序演示,答辩指导教师签名:年月日系主任(或责任教师)签名:年月日汇编语言是面向机器的程序设计语言。

在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址,如此就增强了程序的可读性并且降低了编写难度,象这样符号化的程序设计语言就是汇编语言,因此亦称为符号语言。

使用汇编语言编写的程序,机器不能直接识别,还要由汇编程序或者叫汇编语言编译器转换成机器指令。

汇编程序将符号化的操作代码组装成处理器可以识别的机器指令,这个组装的过程称为组合或者汇编。

因此,有时候人们也把汇编语言称为组合语言。

汇编语言是一种功能性很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。

汇编语言,作为一门语言,应对与高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。

高级汇编器如MASM就为我们写程序提供了很多类似于高级语言的特征,比如结构化、抽象等。

在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。

现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。

汇编语言的长处在于编写高效而且需要对机器语言精确控制的程序。

此次课设将使用汇编语言和MASM软件设计一个对磁盘文件进行读写的程序。

关键词:汇编MASM 磁盘读写编译程序设计1 设计任务及要求分析1.1设计任务及要求1.2设计任务分析2 方案比较及认证说明2.1写文件2.2读文件2.3方案比较3系统实现原理说明3.1程序设计思想3.2程序中用到的DOS功能调用4程序流程图4.1写文件程序流程图4.2读文件程序流程图5程序设计结果显示5.1写文件程序运行结果5.2读文件程序运行结果6 调试记录与分析心得体会参考文献附录一:写文件源程序附录二:读文件源程序磁盘文件读写程序设计1设计任务及要求分析1.1设计任务及要求设计要求:采用汇编语言设计一个读写磁盘文件的程序。

建立一个文件,向文件中写入32个字节内容并读出,操作成功后显示提示OK,按Q退出程序。

设计任务:(1)设计任务及要求分析(2)方案比较及认证说明(3)系统原理阐述(4)软件设计课题需要说明:软件思想、流程图、源程序及程序注释(5)调试记录及结果分析(6)总结(7)参考资料(8)附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图1.2设计任务分析由要求可知,本题目是一道文件读取的题目,程序主要是分两步走:(1)写文件:建立一个文本文件,写入内容,若操作成功则显示“OK”,若失败则显示“BAD”,按“Q”可退出程序。

(2)读文件:从建立的文件中读取32个字节并显示内容,若操作成功则显示“OK”,若失败则显示“BAD”,按“Q”可退出程序。

2方案论证及说明2.1写文件按要求需要建立一个文件,向文件中写入内容,程序如下:mov ax , datamov ds , ax ;目录路径名的ASCII字符串的段地址mov dx , offset file ;目录路径名的ASCII字符串的偏移地址mov cx , 0mov ah , 3ch ;调用功能3CH创建新的文件int 21hjc error ;创建出错,转error处mov handle , ax ;保存文件号mov bx , ax ;bx文件控制字mov cx , 255 ;cx要写的字节数mov dx , offset buf ;dx内存缓冲区的偏移地址mov ah , 40h ;调用功能40H实现内存缓冲区中的数据写入到磁盘文件或设备int 21h ;向文件中写入32个字节内容2.2读文件打开创建的文件并读取文件中的前32个字符的内容,程序如下:mov ax , datamov ds , ax ;目录路径名的ASCII字符串的段地址mov dx , offset file ;目录路径名的ASCII字符串的偏移地址mov al , 0mov ah , 3dh ;调用功能3DH打开指定文件int 21hjc error ;若打开出错,转errormov handle , ax ;保存文件号mov bx , axmov cx , 32 ;要读取的字节数mov dx , offset buf ;内存缓冲区的偏移地址mov ah , 3fh ;调用功能3FH从文件中读32字节→buf int 21hjc error ;若读出错,转errormov bx , ax ;实际读到的字符数送入bxmov buf[bx] , '$' ;在文件结束处放置一“$”符mov dx , offset bufmov ah , 9h ;DOS功能调用输出一串字符int 21h ;显示文件内容mov bx , handlemov ah , 3eh ;调用功能3EH关闭文件int 21h2.3方案比较文件读取有4种方式:顺序存取方式、随机存取方式、随即分块存取方式以及文件代号式磁盘存取方式。

相比于其它三种方式,文件代号式磁盘存取方式中有关文件的各种信息都包括在DOS中,对用户时透明的,在处理指定文件时,必须使用一个完整的路径名。

对各种错误采取了更统一的处理方法,操作过程中,AX中回送错误代码,这些错误代码对所有的代号式存取功能都是相同的,为用户进行分析提供了方便。

3系统实现原理说明3.1程序设计思想由设计题目“建立一个文件,从文件中读32字节,显示文件内容,操作成功后显示提示OK,操作失败后显示提示BAD,按Q退出程序。

”可知大致可分两步走,建立文件,读取并显示文件内容。

通过查阅资料了解到文件代号式存取方式的方法,通过DOS 中断调用21H完成。

建立磁盘文件:写一个新文件或重写一个旧文件,首先要建立文件并赋给它一个属性。

如果DOS发现要建立的文件已经存在,那么原来的文件就被破坏。

建立文件的功能调用是3CH。

写磁盘文件是利用功能调用40H,要写入的字数放在CX中,输入缓冲区的地址放在DX中。

读取磁盘文件:读文件或设备的功能调用是3FH,要求先把文件打开取得文件代号,然后按照制定的字节数从磁盘把文件读出,读入内存中预先定义好的数据缓冲区。

如果读入的字节数大于缓冲区空间,那么这些多余的数据将送到程序所占空间之上的存储器中。

打开文件操作的功能调用是3DH,需要检查文件名是否合法,文件是否有效。

3.2程序中用到的DOS功能调用(1) 9H:在标准输出设备输出一串字符。

调用:AH=0AHDS=输入缓冲区的段地址DX=输入缓冲区的偏移地址(2) 3CH:创建新的文件或将磁盘上已存在的文件的长度变成0。

调用:AH=3CHDS=驱动器和目录路径名的ASCII字符串的段地址DX=驱动器和目录路径名的ASCII字符串的偏移地址(3) 3DH:打开指定的文件。

调用:AH=3DHDS=驱动器和目录路径名的ASCII字符串的段地址DX=驱动器和目录路径名的ASCII字符串的偏移地址(4) 3EH:关闭指定的文件。

调用:AH=3EHBX=打开或创建时返回的文件控制字(5) 3FH:将指定的文件或设备的数据读入内存缓冲区中。

调用:AH=3FHBX=文件控制字DS=内存缓冲区的段地址DX=内存缓冲区的偏移地址CX=要读取的字节数(6) 21H:将当前块和当前记录所表示的记录读入磁盘传送地址。

调用:AH=21H(7) 40H:将内存的缓冲区中的数据写入到磁盘文件或设备。

调用:AH=40HBX=文件控制字DS=内存缓冲区的段地址DX=内存缓冲区的偏移地址CX=要写的字节数(8) 4CH:结束当前的进程,控制返回给调用该进程的程序。

调用:AH=4CHAL=返回值图4-1写文件程序流程图4程序流程图4.1写文件程序流程图建立文件思路为:输入文件名→创建文件→判断文件是否存在→写入文件内容→关闭文件开始创建文件 判断文件是否存在覆盖原文件关闭文件 判断操作存在成功显示OK失败显示BAD结束写入文件内容 YN NY4.2读文件程序流程图读取文件思路为:找到并打开指定位置文件→读取文件→显示文件前32个字符→关闭文件开始打开文件读取文件显示文件关闭文件判断操作是否成功失败显示BAD成功显示OK结束NY图4-2读文件程序流程图5程序设计结果显示5.1写文件程序运行结果程序运行成功显示“OK”,按“Q”或“q”退出图5-1写文件程序运行结果5.2读文件程序运行结果程序运行成功显示文件前32个字符并显示“OK”,按“Q”或“q”退出图5-2读文件程序运行结果6调试记录与分析本程序应用的主要是DOS中断调用21H里面的功能,如9H、3CH、3DH等。

由于以前接触较少的原因,使用不熟练,出现了一些问题。

经过详细的对课本和图书馆借来的资料的了解,以及同学的帮助最终顺利的完成了程序。

通过图书馆以及上网查阅的一些资料大致了解了磁盘文件读写的框架程序的编写。

完成写文件程序的主要部分,运行的时候出现问题。

运行完成程序自动退出,未能按要求实现“按…Q‟或…q‟退出”。

查阅相关资料以后知道可以在程序开始定义“exit_message”,最后加上1H功能调用可以实现。

完成读文件程序的内容后运行程序,运行出错显示了“BAD”,查找原因。

后来发现是写入内容不足32个字符,无法读出,故出错。

后来在写文件程序里改了写入内容够了32个字符以后运行成功。

通过不断的调试、运行,我认识到编程序是需要耐心与细心才能完成的事情,磨练了我们的毅力。

心得体会课程设计的过程是综合运用所学知识的过程。

要求将课本中分布独立学习的知识,在设计中综合加以应用,从而对所学知识有更进一步的理解、巩固、和发展,并掌握在理论学习时忽略的细节和要点。

相关文档
最新文档