我该怎么做? 我正在使用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的行为与读取文件的方式相同?
答案 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。