ファイルのデータを切り捨てるには?
ファイル データを切り捨てるには、IFile インターフェイスの IFILE_Truncate 関数を使用します。 ファイルのオープン後に IFILE_Truncate 関数を使用してファイルのデータの切り捨て位置を設定します。
IFILE_Truncate 関数は、以下のように定義されています。
int IFILE_Truncate( IFile* file, // IFile インターフェイス uint32 truncatePos // 切り捨て位置 );
SophiaFramework では、 SFBFile::Truncate 関数を使用します。
[ 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_READWRITE); if (file != NULL) { // ファイル データの切り捨て位置を設定します。 IFILE_Truncate(file, 3); // ファイルをクローズします。 IFILE_Release(file); } // IFileMgr インターフェイスを破棄します。 IFILEMGR_Release(filemgr);
[ SophiaFramework を使用したコード ]
SFBFileMgrSmp filemgr; SFBFileSmp file; // SFBFileMgr インターフェイスを作成します。 filemgr = SFBFileMgr::NewInstance(); // ファイルをオープンします。 file = filemgr->OpenFile("sample.txt", _OFM_READWRITE); if (file != null) { // ファイル データの切り捨て位置を設定します。 file->Truncate(3); }