0

これどうやってするの?Visual Studio 2010 C++ を使用しています。

char * Buffer = new char[Filesize];
//Fill it with data here

std::ifstream BinaryParse(Buffer, std::ios::binary);
if(BinaryParse.is_open())
{
   BinaryParse.read((char*)&Count, sizeof(unsigned int));
}

それはうまくいきません。文字配列からの読み取りを除いて、ifstream をファイルの読み取りと同じように動作させるにはどうすればよいですか?

4

1 に答える 1

1

入力ストリームとして C++ 文字列を使用する istringstream を試すことができます。

C++ リファレンスの例を次に示します。

// using istringstream constructors.
#include <iostream>
#include <sstream>
#include <string>
using namespace std;

int main () {
  int n,val;
  string stringvalues;

  stringvalues = "125 320 512 750 333";
  istringstream iss (stringvalues,istringstream::in);

  for (n=0; n<5; n++) {
    iss >> val;
    cout << val*2 << endl;
  }

  return 0;
}

ここで別の例を見つけることができます: http://www.fredosaurus.com/notes-cpp/strings/stringstream-example.html

于 2012-05-25T00:02:05.160 に答える