ホーム > デベロッパ > BREW FAQ

BREW FAQ : ファイルシステム

ファイルを作成するには ?

ファイルを作成するには、IFileMgr インターフェイスの IFILEMGR_OpenFile 関数を使用します。

IFILEMGR_OpenFile 関数は以下のように定義されており、 ファイルを作成する場合はオープン モードに _OFM_CREATE を指定します。

IFile* IFILEMGR_OpenFile(
 IFileMgr*    filemgr,   // IFileMgr インターフェイス
 const char*  filename,  // ファイル名
 OpenFile     mode       // オープン モード
);
オープン モード 意味
_OFM_READ ファイルを読み込みモードでオープンします。 ファイルが存在しない場合は、ファイルを作成しません。
_OFM_READWRITE ファイルを読み込み / 書き込みモードでオープンします。 ファイルが存在しない場合は、ファイルを作成しません。
_OFM_APPEND ファイルを読み込み / 書き込みモードでオープンします。 ファイルの末尾からファイル アクセスを行います。 ファイルが存在しない場合は、ファイルを作成しません
_OFM_CREATE ファイルを読み込み / 書き込みモードで作成します。 既にファイルが存在する場合はファイルがオープンされることはなく、エラーとなります。

BREW API には、ファイルをクローズする関数がないため、 ファイルをクローズするには IFile インターフェイスを解放する必要があります。

SophiaFramework では、 SFBFileMgr::OpenFile 関数を使用します。

[ BREW API のみを使用したコード ]

IShell*    shell = app->a.m_pIShell;
IFileMgr*  filemgr;
IFile*     file;

// IFileMgr インターフェイスを作成します。
ISHELL_CreateInstance(shell, AEECLSID_FILEMGR, (void*)&filemgr);

// ファイルを作成します。
file = IFILEMGR_OpenFile(filemgr, "sample.txt", _OFM_CREATE);

// IFile インターフェイスを破棄します。
IFILE_Release(file);

// IFileMgr インターフェイスを破棄します。
IFILEMGR_Release(filemgr);

[ SophiaFramework を使用したコード ]

SFBFileMgrSmp  filemgr;
SFBFileSmp     file;

// SFBFileMgr インスタンスを作成します。
filemgr = SFBFileMgr::NewInstance();

// ファイルを作成します。
file = filemgr->OpenFile("sample.txt", _OFM_CREATE);

// SophiaFramework を使用すると
// ファイルのクローズは自動で行われます。
// もし、手動でクローズしたい場合は、
//
// file.Release();
//
// と記述します。