带有字符数组的 ifstream

Ifstream with a char array

本文关键字:ifstream 数组 字符      更新时间:2023-10-16

我该怎么做?我正在使用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 的行为方式与读取文件的方式相同,除了从 char 数组读取?

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

以下是参考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。