On this page |
int file_stat(string filename, int &stat_data[], ...)
指定したファイルのファイルシステム情報を意味するデータで整数配列を上書きします。
この関数を使用しないでください。 file.h
インクルードファイルには、構造体を返すこの関数よりももっと便利なバージョンの関数があります。
"usecache
",
int
=0
このオプションがオンの場合、この関数は、持続的なキャッシュを使用して、この関数の結果を保存します。このキャッシュは、アプリケーションが実行されている間で持続します。
Returns
パスが有効なら1
、無効なら0
。
便利なfile_stat関数 ¶
ビルトインのfile_stat
を使用する代わりに、ファイルの上部にこの行を追加します:
#include <file.h>
そして、そのファイルからfile_stat
またはcached_file_stat
の関数を使用します。これらの関数は、ファイルパス文字列を受け取り、以下のメンバーを含んだ(file.h
内で定義されている)構造体を返します:
|
ファイルのサイズ(バイト)。 |
|
ファイルのサイズ(メガバイト)。 |
|
このファイルの最終変更時刻。 |
|
ファイルパスが有効なファイルを参照していれば1を返します。 |
|
ファイルパスが(ディレクトリではなく)ファイルを参照していれば1を返します。 |
|
ファイルパスが(ファイルではなく)ディレクトリを参照していれば1を返します。 |
|
ファイルが読み込み可能なら1を返します。 |
|
ファイルが書き込み可能なら1を返します。 |
|
ファイルが実行可能なら1を返します。 |
Examples ¶
以下の単純なスニペットは、テクスチャファイルが存在するかどうかをチェックし、もしそうなら、ポイントカラーを赤ではなく緑にします:
#include <file.h> v@Cd = {1,0,0}; stat s = file_stat("$HH/pic/Mandril.pic"); if (s->isValid()) v@Cd = {0,1,0};
以下のサンプルは、file_stat
からの情報を使用して、file_size
, file_exists
, file_isdir
といった便利な関数を定義しています。
#include <file.h> int file_size(string name) { stat info(name); return file_stat(name)->st_size; } int file_exists(string name) { // キャッシュ化されたfile_stat()の結果を使用します。 return cached_file_stat(name)->isValid(); } int file_isdir(string name) { return file_stat(name)->isDir(); }