ifstream带有char数组

时间:2012-05-24 22:09:00

标签: c++ stl ifstream

我该怎么做? 我正在使用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));
}

这不起作用。 除了从char数组中读取外,如何使ifstream的行为与读取文件的方式相同?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用C ++字符串作为输入流的istringstream。

以下是C++ reference的示例:

// 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