A类字母--absread、abswrite

论坛 期权论坛 脚本     
匿名技术用户   2021-1-6 23:49   314   0

原 型: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 <stdio.h> 
#include <conio.h> 
#include <process.h> 
#include <dos.h> /*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); 
} 

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP