⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 page207.html

📁 李春生的汇编书籍
💻 HTML
字号:
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=gb2312">
<title>第8章 文件句柄功能与磁盘</title>
</head>

<body>
<style type="text/css">
body {
	background-color: #c0c0c0;
}

table {
	background-color: #c0c0c0;
	line-height: 24px;
}
</style>
<!导航条>
<p><a href="content1.html">目录</a> <a href="page206.html">上一页</a> <a href="page208.html">下一页</a> <a href="page238.html">下一章</a></p>
<table border=0 align="center" width=800 frame="box" rules="none">
<!标尺行>
<tr>
<td width=3%></td><td width=6%></td><td width=1%></td> <!左侧空白>
<td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td>
<td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td>
<td width=1%></td><td width=6%></td><td width=3%></td> <!右侧空白>
</tr>

<!页眉行>
<tr height=60 valign="bottom">
<td></td><td></td><td></td>
<td colspan=6><img src="icons/flag.gif"></td><td colspan=4></td><td colspan=6 align="right">第8章 文件句柄功能与磁盘</td> <!章节名>
<td></td><td>-207-</td><td></td> <!页码>
</tr>
<!页眉线>
<tr valign="top">
<td></td><td colspan=20><hr></td><td></td>
</tr>
<!正文>
<font face="宋体" lang="ZH-CN" size=3>
<tr height=20><td colspan=22></td></tr> <!顶部空白>

<tr>
<td></td><td></td> <!左边距>
<td colspan=18>
<font face="隶书" lang="ZH-CN" size=6><p align="CENTER">第8章 文件句柄功能与磁盘</p></font>
<p>
  FCB功能的存在是出于历史的原因,虽然它也有一些很显著的优点,但随着DOS版本的升级,FCB功能逐渐被另一套文件处理功能所取代。即使是DOS的设计者Microsoft公司也并不提倡程序员使用FCB功能。因此在本章我们将研究DOS提供的另一套功能--"文件句柄功能"的应用。
</p>
</td>
<td></td><td></td> <!右边距>
</tr>

<tr>
<td></td><td></td> <!左边距>
<td colspan=18><font face="黑体"><a name="81">8.1 文件句柄功能调用</a></font></td>
<td></td><td></td> <!右边距>
</tr>

<tr>
<td></td><td></td> <!左边距>
<td colspan=18>
  我们在前面讨论过,使用FCB处理文件有一个十分显著的缺点,那就是无法处理"树形目录"。这并不能怪FCB的功能弱,FCB功能源于CP/M操作系统,而树形目录是在DOS2.0版中才引入PC中的,所以利用FCB无法处理也就不足为奇了。<br>
  所谓树形目录,是Microsoft从UNIX/XENIX操作系统中移植到DOS中的,它引入了"子目录"的的概念,使磁盘在有限的空间内能够更合理地容纳更多的文件,方便了用户对文件的管理工作。<br>
  为了使程序设计人员能够有效的处理树形目录,DOS提供了一套称之为"文件句柄功能调用"的API接口,和FCB功能相比,文件句柄功能的一个突出特点就是将FCB中保存的文件特征信息隐藏在DOS内部,而对于我们设计的程序,DOS只提供了一个16位的数据,这个数据就是我们所说的"文件句柄"。我们现在就来研究一下有关"文件句柄"功能所需的一个很重要的基础知识--文件名与路径名。<br>
  我们使用FCB功能打开文件时,需要先初始化一个"未打开"的FCB,也就是在FCB的前12个字节中填入相应驱动器符和文件名。这实际上是给DOS提供执行打开操作的依据。而使用文件句柄功能处理文件也有这样一个步骤。但是我们需要提供给DOS的数据就不象FCB那么死板了。主要的区别在于我们所给出的数据不仅有驱动器符和文件名,还可以包含路径名。DOS规定我们给出的数据应具有下面这样的结构:<br>
<font size=5>
  [Drive][路径名]&LT;文件名&GT;.&LT;扩展名&GT;,00H<br>
</font>
  其中Drive项是驱动器名,同FCB的规定不同,DOS不再接受0,1,2,3这样的数字表示,而要求我们直接使用A:,B:,C:,D:这样的表示法;[路径名]一项和我们一般理解的路径名是一致的,即一系列用"\"隔离开的子目录名。文件名和扩展名没什么更多说的,需注意的是其中的那个"."不能省去;至于未尾那个"00H",这是DOS所规定必须要有的表示结尾的标志。所以我们说我们提供给DOS的数据是一个由ASCII字符组成的字符串加上一个"0"字节构成,习惯上我们把这串数据称为ASCIIZ串(ASCII ZERO)。比如我们需要处理WINDOWS系统中名为WIN386.EXE的文件,那么我们将这样定义ASCIIZ串:<br>
  FILENAME  DB'C:\WINDOWS\WIN386.EXE',0
</td>
<td></td><td></td> <!右边距>
</tr>

</font>

<!页脚线>
<tr valign="top">
<td></td><td colspan=20><hr></td><td></td>
</tr>
<!页脚>
<tr height=60 valign="top">
<td></td><td></td>
<td colspan=9><i>Copyright &copy; 2004-2005 <a href="mailto:webmaster@nucstorm.com">Chunk Lee</a></i></td>
<td colspan=9 align="right"><i><a href="http://www.nucstorm.com" target="_top">www.nucstorm.com</a></i></td>
<td></td><td></td>
</tr>
</table>
<!导航条>
<p align="right"><a href="content1.html">目录</a> <a href="page206.html">上一页</a> <a href="page208.html">下一页</a> <a href="page238.html">下一章</a></p>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -