Sun Studio 12: Fortran ライブラリ・リファレンス

1.4.48 statlstat fstat: ファイルの状態の取得

これらの関数が戻す情報は次のとおりです。

statlstat は、どちらもファイル名を用いて問い合わせをします。fstat は論理装置を用いて問い合わせをします。

1.4.48.1 stat: ファイル名によるファイルの状態の取得

関数は、次のように呼び出します。

INTEGER*4 stat

ierr = stat ( name, statb )

name

character*n

入力 

ファイルの名前 

statb

INTEGER*4

出力 

ファイル状態の情報が格納される要素数 13 の配列 

戻り値 

INTEGER*4

出力 

ierr=0: 正常

ierr>0: エラーコード

例 1: stat():


       character name*18 /'MyFile'/
       INTEGER*4 ierr, stat, lunit/1/, statb(13)
       open( unit=lunit, file=name )
       ierr = stat ( name, statb )
       if ( ierr .ne. 0 ) stop 'stat: error'
       write(*,*)'所有者の UID = ',statb(5),',
     1   ブロック数 = ',statb(13)
       end

1.4.48.2 fstat: 論理装置によるファイルの状態の取得

関数

INTEGER*4 fstat

ierr = fstat ( lunit, statb )

lunit

INTEGER*4

入力 

論理装置番号 

statb

INTEGER*4

出力 

ファイル状態の情報が格納される要素数 13 の配列 

戻り値 

INTEGER*4

出力 

ierr=0: 正常

ierr>0: エラーコード

関数は、次のように呼び出します。

例 2: fstat():


       character name*18 /'MyFile'/
       INTEGER*4 fstat, lunit/1/, statb(13)
       open( unit=lunit, file=name )
       ierr = fstat ( lunit, statb )
       if ( ierr .ne. 0 ) stop 'fstat: error'
       write(*,*)'所有者の UID = ',statb(5),',
     1      ブロック数 = ',statb(13)
       end

1.4.48.3 lstat: ファイル名によるファイルの状態の取得

関数は、次のように呼び出します。

ierr = lstat ( name, statb )

name

character*n

入力 

ファイル名 

statb

INTEGER*4

出力 

ファイル状態の情報が格納される要素数 13 の配列 

戻り値 

INTEGER*4

出力 

ierr=0: 正常

ierr>0: エラーコード

例 3: lstat():


       character name*18 /'MyFile'/
       INTEGER*4 lstat, lunit/1/, statb(13)
       open( unit=lunit, file=name )
       ierr = lstat ( name, statb )
       if ( ierr .ne. 0 ) stop 'lstat: error'
       write(*,*)'所有者の UID = ',statb(5),',
     1   ブロック数 = ',statb(13)
       end

1.4.48.4 ファイル状態を格納する配列の詳細

INTEGER*4 型の配列 statb に返される情報の意味は、stat(2) での構造体 stat の説明と同じです。

予備の値は含まれません。順序は次のとおりです。

statb(1)

statb(2)

statb(3)

statb(4)

statb(5)

statb(6)

statb(7)

statb(8)

statb(9)

statb(10)

statb(11)

statb(12)

statb(13)

i ノードが存在するデバイス 

この i ノードの番号 

保護 

ファイルへのハードリンクの数 

所有者のユーザー ID 

所有者のグループ ID 

i ノードに対応するデバイスのデバイスタイプ 

ファイルの合計サイズ 

ファイルの最終アクセス時刻 

ファイルの最終更新時刻 

ファイルの最終状態変更時刻 

ファイルシステム入出力操作の最適ブロックサイズ 

実際に割り当てられているブロックの数 

参照: stat(2)、access(3F)、perror(3F)、および time(3F)

注意: パス名は、<sys/param.h> で定義されている MAXPATHLEN より長くすることはできません。