ホーム > デベロッパ > SophiaFramework > BREW C++ 逆引きコード集

BREW C++ プログラミング : SophiaFramework 逆引き FAQ・コード集

ISource インターフェースからデータを読み込む

SFXSource クラスを利用して、ISource インターフェースからデータを読み込みます。

SFXSource source; 
static ACharConst data[] = "test data"; // 読み込むデータ
SFXAnsiString string;           // 書き込むデータ
SFXBinaryStreamReader reader;   // メモリ読み込み用ストリーム
SFBSourceUtilSmp util;
SFBSourceSmp bs;

// メモリブロックから SFBSource を作成する
util = SFBSourceUtil::NewInstance();
util->SourceFromMemory(data, sizeof(data), null, null, &bs);

// ストレージを開く
if (source.Open(bs) == SFERR_NO_ERROR) {

    // メモリ読み込み用ストリームを取得する
     if (source.GetStreamReader(1024, &reader) == SFERR_NO_ERROR) {

        reader.Fetch();  // フェッチする ( データを読み込む ) 
        reader >> string; // ストリームにデータを読み込む

        // 文字数を取得する size = 9
        TRACE("size = %d", string.GetLength());   
        // 内部バッファを取得する read = test data   
        TRACE("read = %s", string.GetCString());  

        reader.Release();  // ストリームを解放する
    }
    source.Close();  // メモリ ストレージを閉じる
}