isnetdr.c
来自「国外网站上的一些精典的C程序」· C语言 代码 · 共 47 行
C
47 行
/*----------------------------------------------------------------------*//* determine_drive_type -- Public Domain code from Bob Dolan *//* *//* INPUT: the drive number ( 0=current, 1=A:, 2=B:, etc. ) *//* OUTPUT: drive type ( 0=physical drive, 1=Network drive, 2=RamDisk ) *//*----------------------------------------------------------------------*/ #include <dos.h>#include "dosfiles.h" int drive_type(int dr){ union REGS regs; regs.x.ax = 0x4409; /* IOCTL func 9 */ regs.h.bl = (unsigned char)dr; int86(0x21, ®s, ®s); if (!regs.x.cflag) { if (regs.x.dx & 0x1000) return 1; /* Network drive */ else if (regs.x.dx == 0x0800) return 2; /* RAMdisk */ } return 0; /* physical drive */} #ifdef TEST #include <stdio.h>#include <stdlib.h>#include <ctype.h> int main(int argc, char *argv[]){ int dr = 0; if (1 < argc) dr = toupper(*argv[1]) - '@'; printf ("drive_type(%d) = %d\n", dr, drive_type(dr)); return 0;} #endif /* TEST */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?