GETDRIVEDIRQQ

実行時関数:指定したドライブ上の現在の作業ディレクトリのパスを得ます。

モジュールUSE DFLIB

形式

result = GETDRIVEDIRQQ (drivedir)

drivedir
(入力,出力) CHARACTER*(*)。入力では,現在の作業ディレクトリのドライブを指定します。出力では,指定したドライブ上の現在のディレクトリを含む文字列が d:\dir の形式で返されます。

結果

結果の型は INTEGER(4) です。結果は,指定したドライブ上のディレクトリのフル・パスの長さ (バイト) です。文字バッファ drivedir の大きさよりもパスが長い場合,ゼロが返されます。

GETDRIVEDIRQQ を呼び出す前に,ドライブ文字を drivedir に置くことによって,現在の作業ディレクトリを返すためのドライブを指定します。現在のドライブを確実に得るには,シンボル定数 FILE$CURDRIVE (\DF98\INCLUDE サブディレクトリの DFLIB.F90 に定義されています) を drivedir に代入します。

ドライブは 1 つのアルファベット文字で識別されるため,GETDRIVEDIRQQdrivedir の第 1 文字のみを検証します。たとえば,drivedir がパス c:\fps90\bin を含んでいる場合,GETDRIVEDIRQQ(drivedir) はドライブ C 上の現在の作業ディレクトリを返し,パスの残りの部分を無視します。ドライブ文字は,大文字小文字の区別はありません。

返されるパスの長さは,ディレクトリが drivedir で指定されたドライブ上でどの位深く入れ子になっているかに依存します。プル・パスが drivedir の大きさよりも長い場合,GETDRIVEDIRQQdrivedir に収まるパスの一部のみを返します。長いバスに遭遇した場合,大きさ $MAXPATH ($MAXPATH = 260) のバッファを割り当ててください。

互換性

CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB

関連情報

CHANGEDIRQQCHANGEDRIVEQQGETDRIVESIZEQQGETDRIVESQQGETLASTERRORQQSPLITPATHQQ

	! GETDRIVEDIRQQ の例
	USE DFLIB
	CHARACTER($MAXPATH) dir
	INTEGER(4) length

	! 現在のディレクトリを得ます
	dir = FILE$CURDRIVE
	length = GETDRIVEDIRQQ(dir)
	IF (length .GT. 0) THEN
	  WRITE (*,*) 'Current directory is: '
	  WRITE (*,*) dir
	ELSE
	  WRITE (*,*) 'Failed to get current directory'
	END IF
	END