内部バッファで読み書きを行う
SFXMemory クラスを利用して、内部バッファを読み書きします。
SFXMemory memory; SFXBinaryStreamWriter writer; // メモリ書き込み用ストリーム SFXBinaryStreamReader reader; // メモリ読み込み用ストリーム SFXAnsiString string; // 書き込むデータ // メモリ ストレージを開く if (memory.Open() == SFERR_NO_ERROR) { // メモリ書き込み用ストリームを取得する if (memory.GetStreamWriter(1024, &writer)== SFERR_NO_ERROR) { writer << "abc"; // ストリームにデータを書き込む writer.Flush(); // フラッシュする(実際にデータを書き込む) // バッファ サイズを取得する size = 4 TRACE("size = %d", memory.GetSize()); // 内部バッファへのポインターを取得する write = abc + '\0' TRACE("wrire = %s", memory.GetBuffer()); writer.Release(); // ストリームを解放する } // 先頭へシークする memory.SeekStart(0); // メモリ読み込み用ストリームを取得する if (memory.GetStreamReader(1024, &reader) == SFERR_NO_ERROR) { reader.Fetch(); // フェッチする ( データを読み込む ) reader >> string; // ストリームにデータを読み込む // 文字数を取得する size = 3 TRACE("size = %d", string.GetLength()); // 内部バッファを取得する read = abc TRACE("read = %s", string.GetCString()); reader.Release(); // ストリームを解放する } memory.Close(); // メモリ ストレージを閉じる }