2011-01-23 4 views
0

私はバイナリバイト配列を持っています。 C#では、BinaryReaderとReadInt32(これが私が必要なものです)で読むのはとても簡単です。ReadInt32、BinaryReader、C++

reader = new BinaryReader (new MemoryStream(data), new UnicodeEncoding()); 

m_headerVersion = reader.ReadInt32(); 
m_width   = reader.ReadInt32(); 
m_height  = reader.ReadInt32(); 
... 

C++(MFC)で同じことを行うにはどうすればよいですか? どうすればいいですか?

おかげ

+0

Ickは、C++よりもJavaやC#のように見えます。これらのオブジェクトをすべて「新しくする」必要がありますか? – sbi

答えて

1

限り、私はあなたが管理対象外のC++を使用している理解し、あなたがそれをあなたの自己を記述する必要がありますよう。結局、C++とC#の異なる言語。

しかし、STLストリームを使用して同様のことを行うことができます。

std::stringstream reader; 
reader << data; 
reader >> m_headerVersion; 
reader >> m_width; 
reader >> m_height; 
0

基本的な考え方だ

int32_t m_headerVersion = int32_t(*data); 
int32_t m_width = int32_t(*(data + sizeof(int32_t))); 
int32_t m_height = int32_t(*(data + 2*sizeof(int32_t))); 

:すなわち、あなたがそれを鋳造することによりint32_tにそれを得ることができ、あなたが

char* data; 

でデータを持っていると仮定。使いやすいストリームスタイルのインターフェイスでこの機能をラップすることができます。

関連する問題