### 使用 C 函数获取指定盘符信息

在开发应用程序时，有时需要获取系统的某一个盘符信息，以了解磁盘的使用情况。例如，了解当前磁盘的可用簇数、扇区数等。文件占用磁盘空间时，基本单位不是字节而是簇。簇的大小与磁盘的规格有关，一般情况下，软盘每簇是 1 个扇区，硬盘每簇的扇区数与硬盘的总容量大小有关，可能是 4、8、16、32、64……。我们知道硬盘是用来存储数据的，那么它是如何存储数据的呢？在硬盘内部有多个坚硬金属材料制成的涂以磁性介质的盘片，不同容量硬盘的盘片数不等。每个盘片有两面，都可记录信息。盘片被分成许多扇形的区域，每个区域叫一个扇区，每个扇区可存储 128×2 的 N 次方（N＝0.1.2.3）字节信息。图 1 描述了硬盘中的一个盘片，在一个盘片中可以划分多个扇区。

图 1 盘片示意图

在设计一个磁盘修复工具时，通常都需要在程序中读取硬盘的簇、扇区等信息。在 C 语言中提供了_getdiskfree 函数来获取磁盘信息，该函数能够返回一个_diskfree_t 结构，_diskfree_t 描述了磁盘的相信信息，结构如图 2 所示。

图 2 _diskfree_t 结构示意图

实例设计效果如图 3。

图 3 输入盘符

按回车键执行代码，如图 4 所示。

图 4 盘符信息