A类字母--absread、abswrite

原 型:int absread(int drive, int num, int sectnum, void *buf)  

功能:从drive指定的驱动器磁盘上,sectnum指定的逻辑扇区号开始读取(通过DOS中断0x25读取)num个(最多64K个)扇区的内容,储存于buf所指的缓冲区中。

参数:drive=0对应A盘, drive=1对应B盘。

返回值:0: 成功; -1: 失败。

原 型:int abswrite(int drive, int nsects, int lsect, void*buffer)

功能:将指定内容写入(调用DOS中断0x26)磁盘上的指定扇区,即使写入的地方是磁盘的逻辑结构、文件、FAT表和目录结构所在的扇区,也照常进行。

参数:

  drive=0(A驱动器)、1(B驱动器)、

  nsects=要写的扇区数(最多64K个);

  lsect=起始逻辑扇区号;

  buffer=要写入数据的内存起始地址。

返回值:0:成功;-1:失败。

#include  
#include  
#include  
#include  /*absread、abswrite */
 
int main(void) 
{ 
    int i, strt, ch_out, sector; 
    char buf[512]; 
 
    printf("Insert a diskette into drive A and press any key\n"); 
    getch(); 
    sector = 0; 
    if (absread(0, 1, sector, &buf) != 0) 
    { 
        perror("Disk problem"); 
        exit(1); 
    } 
    printf("Read OK\n"); 
    strt = 3; 
    for (i=0; i<80; i++) 
    { 
    ch_out = buf[strt+i]; 
    putchar(ch_out); 
    } 
    printf("\n"); 
    return(0); 
} 

 

你可能感兴趣的:(c/c++)