|
Turbo C 2.0、Borland C++库函数及用例(6) 用 法: int bdosptr( int dosfun, void *argument, unsigned dosal ); 程序例:#include <string.h> #include <stdio.h> #include <dir.h> #include <dos.h> #include <errno.h> #include <stdlib.h>#define BUFLEN 80int main(void) { char buffer[BUFLEN]; int test; printf("Enter full pathname of a directory\n"); gets(buffer); test = bdosptr(0x3B,buffer,0); if(test) { printf("DOS error message: %d\n", errno); /* See errno.h for error listings */ exit (1); } getcwd(buffer, BUFLEN); printf("The current directory is: %s\n", buffer); return 0; } 函数名: bioscom 功 能: 串行I/O通信 用 法: int bioscom(int cmd, char abyte, int port); 程序例: #include <bios.h> #include <conio.h>#define COM1 0 #define DATA_READY 0x100 #define TRUE 1 #define FALSE 0#define SETTINGS ( 0x80 0x02 0x00 0x00)int main(void) { int in, out, status, DONE = FALSE; bioscom(0, SETTINGS, COM1); cprintf("... BIOSCOM [ESC] to exit ...\n"); while (!DONE) { status = bioscom(3, 0, COM1); if (status & DATA_READY) if ((out = bioscom(2, 0, COM1) & 0x7F) != 0) putch(out); if (kbhit()) { if ((in = getch()) == '\x1B') DONE = TRUE; bioscom(1, in, COM1); } } return 0; } 函数名: biosdisk 功 能: 软硬盘I/O 用 法: int biosdisk( int cmd,int drive,int head,int track, int sector,int nsects, void *buffer); 程序例:#include <bios.h> #include <stdio.h>int main(void) { int result; char buffer[512]; printf("Testing to see if drive a: is ready\n"); result = biosdisk(4,0,0,0,0,1,buffer); result &= 0x02; (result) ? (printf("Drive A: Ready\n")) : (printf("Drive A: Not Ready\n")); return 0; } 函数名: biosequip 功 能: 检查设备 用 法: int biosequip(void); 程序例:#include <bios.h> #include <stdio.h>int main(void) { int result; char buffer[512]; printf("Testing to see if drive a: is ready\n"); result = biosdisk(4,0,0,0,0,1,buffer);
|