A類アルファベット--absread、abswrite

1228 ワード

プロトタイプ:int absread(int drive,int num,int sectnum,void*buf)
機能:driveで指定されたドライブディスク上で、sectnumで指定された論理セクタ番号からnum個(最大64 K個)のセクタの内容を読み出し(DOSで0 x 25読み出しを中断)、bufで指定されたバッファに格納します.
パラメータ:drive=0はAディスク、drive=1はBディスクに対応します.
戻り値:0:成功;-1:失敗.
プロトタイプ:int abswrite(int drive,int nsects,int lsect,void*buffer)
機能:指定内容をディスク上の指定セクタに書き込み(DOS割り込み0 x 26を呼び出す)、書き込み先がディスクの論理構造、ファイル、FATテーブル、ディレクトリ構造があるセクタであっても、通常通りに行います.
パラメータ:
drive=0(Aドライブ)、1(Bドライブ)、
nsects=書くセクタ数(最大64 K個);
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
"); getch(); sector = 0; if (absread(0, 1, sector, &buf) != 0) { perror("Disk problem"); exit(1); } printf("Read OK
"); strt = 3; for (i=0; i<80; i++) { ch_out = buf[strt+i]; putchar(ch_out); } printf("
"); return(0); }