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

BREW FAQ : ファイルのデータを切り捨てるには?

ファイルのデータを切り捨てるには?

ファイル データを切り捨てるには、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);
}