do
{
file_no=0;
finfo.drive = 0x00; /* 活动的人数: */
finfo.head = head; /* 盘头多 */
finfo.track = track; /* 多轨道 */
finfo.sector= sector; /* 一些部门 */
finfo.nsectors=1; /* 计部门 */
finfo.buffer = buf; /* 数据缓冲 */
result = _bios_disk(_DISK_READ, &finfo); /* 经过机构 */
if( (result & 0xff00) != 0) /* 如果经过错误,显示错误信息和退出*/
{
printf("为错误");
getch();
exit(0); // 回到dos
}
/// 资料显示屏幕形式 \\\
clrscr();
gotoxy(9,1);
cprintf("Cyln显示: %u, HEAD: %u, SECTOR: %u",
track, head, sector);
gotoxy(9,2);
cprintf("请把名字开始规模FNO ");
gotoxy(7,3);
cprintf("--------------------------------------------");
/* 在一个部门. 所有文件和DIR/JUR以32字节输入*/
for(i=0;i<512;i+=32)
{
for(j=0;j<8;j++)
{
///发现档案(DIR/JUR名 \\\
root[file_no].name[j]=buf[j+i];
}
for(j=8;j<11;j++)
{
/// 寻求扩大 \\\
root[file_no].ext[j-8]=buf[i+j];
}
j=11;
root[file_no].attribute=buf[i+j]; /// 属性
/// 自组 \\\
root[file_no].start=(0xff & buf[27+i])*16*16 + (0xff & buf[26+i]);
|