前のページ次のページ上に戻るホーム BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework UNIVERSE 5.0

15.2. ファイルを操作するためのクラス

SFXFile は、ファイルの作成、移動、削除、情報の取得などの処理をするクラスです。 ファイルの読み書きは、ストリームを使います。

[Caution] mif ファイルの設定

mif ファイルの特権レベル設定で「ファイル」の項目をオンにします。

[Note] エラー処理

以下の関数はすべてエラー値 ( SFCError 型 ) を返します。

例 15.1. ファイル名の変更 ( ファイルの移動 )

SFXFile::Rename(SFXPath("/dir1/data.txt"), SFXPath("/dir2/data.dat"));

引数にファイルパスを指定する関数はすべて SFXPath を使います。

例 15.2. ファイルの削除

SFXFile::Remove(SFXPath("/dir1/data.txt"));

例 15.3. ファイルの存在判定

Bool b;

// Exists 関数の戻り値は SFCError 型
// b: Exists 関数によりファイルが存在するか否か設定される
SFXFile::Exists(SFXPath("/dir1/data.txt"), &b);

if (b) {
    // ファイルが存在するとき

}

例 15.4. ファイル サイズの取得

UInt32 size;

SFXFile::GetSize(SFXPath("/dir1/data.txt"), &size); // size: ファイルの空き容量が設定される

例 15.5. ファイル作成日時の取得

SFXDate date; // 日付クラス

// date: ファイルの作成日時が設定される
SFXFile::GetCreateDate(SFXPath("/dir1/data.txt"), &date);

例 15.6. デバイス空き容量の取得

UInt32 space;

SFXFile::DeviceFreeSpace(&space); // space: 空き容量が設定される

例 15.7. ファイルが読み込み専用であるか判定

Bool b;

// IsReadOnly 関数の戻り値は SFCError 型
// b: IsReadOnly 関数によりファイルが読み込み専用であるか否か設定される
SFXFile::IsReadOnly(SFXPath("/dir1/data.txt"), &b);

if (b) {
    // ファイルが読み込み専用の場合

}

例 15.8. テンポラリファイルパスの取得

SFXPath path;
SFXPath parentPath;

parentPath.Set(SFXAnsiString("/"));

SFXFile::GetTemporaryPath(parentPath, &path);
// path: "/sfx7182CBD4.tmp" のようなファイルパスが設定される
[Note] 注意
一時的なファイルを作成するとき、既存のものと重複しないファイルパスを取得します。

例 15.9. 一意なファイルパスの取得

SFXPath path;
SFXPath parentPath;

parentPath.Set(SFXAnsiString("/"));

SFXFile::GetUniquePath(parentPath, "data", ".txt", &path);
// path: "/data829AE714.txt" のようなファイルパスが設定される
[Note] 注意

既存のものと重複しないファイルパスを取得します。