実行時関数:指定したドライブ上の全体の大きさと空き容量を得ます。
モジュール:USE DFLIB
形式
result = GETDRIVESIZEQQ (drive, total, avail)
drive
(入力) CHARACTER*(*)。情報を得たいドライブのドライブ文字を含む文字列。
total
(出力) INTEGER(4) または INTEGER(4),DIMENSION(2) または INTEGER(8)。指定したドライブの総バイト数。
avail
(出力) INTEGER(4) または INTEGER(4),DIMENSION(2) または INTEGER(8)。指定したドライブの空きバイト数。
結果
結果の型は LOGICAL(4) です。成功すれば .TRUE.,そうでなければ .FALSE. が返されます。
total と avail 引数に対して指定するデータ型と次元 (もしあれば) は同じでなければなりません。2 つの INTEGER(4) 要素の配列または INTEGER(8) の引数を指定すると,2147483647 よりも大きいドライブの大きさを返すことができます。
2 つの INTEGER(4) 要素の配列が指定されると,下位 32 ビットが第 1 要素に返され,上位 32 ビットが第 2 要素に返されます。INTEGER(4) スカラが指定されると,下位 32 ビットが返されます。
ドライブは 1 つのアルファベット文字で識別されるため,GETDRIVESIZEQQ は drive の第 1 文字のみを検証します。ドライブ文字は,大文字小文字の区別はありません。現在のドライブの大きさを得るには,シンボル定数 FILE$CURDRIVE (\DF98\INCLUDE サブディレクトリの DFLIB.F90 に定義されています) を使うことができます。
GETDRIVESIZEQQ が失敗した場合,GETLASTERRORQQ を使って原因を究明します。
互換性
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB
関連情報
CHANGEDIRQQ,CHANGEDRIVEQQ,GETDRIVEDIRQQ,GETDRIVESQQ,GETLASTERRORQQ
例
! GETDRIVESQQ と GETDRIVESIZEQQ の例 USE DFLIB CHARACTER(26) drives CHARACTER(1) adrive LOGICAL(4) status INTEGER(4) total, avail INTEGER(2) i ! ドライブの一覧を得ます。 drives = GETDRIVESQQ() WRITE (*,'(A, A)') ' Drives available: ', drives ! ! 一覧からドライブを取り出し,コンソールに各ドライブの空き容量を出力します。 DO i = 1, 26 adrive = drives(i:i) status = .FALSE. WRITE (*,'(A, A, A, \)') ' Drive ', CHAR(i + 64), ':' IF (adrive .NE. ' ') THEN status = GETDRIVESIZEQQ(adrive, total, avail) END IF IF (status) THEN WRITE (*,*) avail, ' of ', total, ' bytes free.' ELSE WRITE (*,*) 'Not available' END IF END DO END