do
{
file_no=0;
finfo.drive = 0x00; /* A를 위한 드라이브 수: */
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 유명한 EXT 속성 시작 크기");
gotoxy(7,3);
cprintf("--------------------------------------------");
/* 1개의 분야 이번에. 각 File/DIR 입장은 32 바이트를 가지고 간다 */
for(i=0;i<512;i+=32)
{
for(j=0;j<8;j++)
{
///Dir 파일 또는 이름을 찾아내십시오\\\
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]);
|