ファイルを作成するには ?
ファイルを作成するには、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(); // // と記述します。