dsk_type.c
来自「[随书类]Dos6.0源代码」· C语言 代码 · 共 43 行
C
43 行
/***************************************************************************/
/* */
/* DSK_TYPE.C */
/* */
/* Copyright (c) 1991 - Microsoft Corp. */
/* All rights reserved. */
/* Microsoft Confidential */
/* */
/* Returns the type of diskette in the specied floppy drive. */
/* */
/* int GetDisketteType( int Drv ) */
/* */
/* ARGUMENTS: Drv - Drive letter to check */
/* RETURNS: int - Type of diskette */
/* 1 == 360K */
/* 2 == 720K */
/* 3 == 1.2M */
/* 4 == 1.44M */
/***************************************************************************/
#include <stdio.h>
#include <dos.h>
int GetDisketteType( int Drv )
{
static long lSize[] = { 0, 370000L, 740000L, 1300000L };
register i;
struct diskfree_t Drive;
long lBytes;
if ( _dos_getdiskfree( (unsigned)Drv - 0x40, &Drive ) != 0 )
return( 0 );
lBytes = (long)Drive.total_clusters *
(long)(Drive.bytes_per_sector * Drive.sectors_per_cluster);
for ( i = 1; i < (sizeof( lSize ) / sizeof( long )); i++ )
if ( lBytes < lSize[ i ] )
break;
return( i );
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?